Imported Debian patch 2.23.05-1
[hcoop/zz_old/debian/webalizer.git] / debian / patches / 05_apache_logio.diff
1 From: Jose Carlos Medeiros <debian@psabs.com.br>
2 Subject: Added logio support for new apache2 mod_logio logfiles
3
4 Origin: http://www.rexursive.com/software/apache.html
5
6 This is based on previous patch [1] already adapted from the original patch [2]
7 to integrate with other patches in debian package.
8 A fix for upstream patch [3] is integrated.
9 The patch was ported to webalizer 2.21-02
10 by Julien Viard de Galbert <julien@vdg.blogsite.org>
11 And later adapted to webalizer 2.23-03 with the help
12 from Pim van den Berg <pim@nethuis.nl>, Thanks !
13
14 1: 05_apache_logio.dpatch by Jose Carlos Medeiros <debian@psabs.com.br>
15 2: ftp://ftp.rexursive.com/pub/webalizer/webalizer-in-out.patch.gz
16 3: ftp://ftp.rexursive.com/pub/webalizer/webalizer-in-out-fix.patch.gz
17
18 Index: webalizer/README.FIRST
19 ===================================================================
20 --- webalizer.orig/README.FIRST 2011-04-18 23:54:32.000000000 +0200
21 +++ webalizer/README.FIRST 2011-04-18 23:56:44.000000000 +0200
22 @@ -19,3 +19,12 @@
23 in the subject. Please do not send HTML formatted e-mails or e-mail
24 containing HTML tags as my mail server will reject them. Thanks!
25
26 +################### SUMMARY 05_apache_logio ##########################
27 +
28 +##################
29 +# This Webalizer 2.01-10 patch intoduces necessary logic for presenting the
30 +# numbers collected by mod_logio in the reports. There are no special
31 +# configuration options required, just patch the Webalizer, configure it
32 +# with the options you prefer, build it, install it and use it.
33 +##################
34 +
35 Index: webalizer/graphs.c
36 ===================================================================
37 --- webalizer.orig/graphs.c 2011-04-18 23:54:32.000000000 +0200
38 +++ webalizer/graphs.c 2011-04-18 23:56:44.000000000 +0200
39 @@ -51,6 +51,8 @@
40 #define FILECOLOR file_or_blue /* files */
41 #define SITECOLOR site_or_orange /* sites */
42 #define KBYTECOLOR kbyte_or_red /* KBytes */
43 +#define IKBYTECOLOR file_or_blue /* In KBytes */
44 +#define OKBYTECOLOR hit_or_green /* Out KBytes */
45 #define PAGECOLOR page_or_cyan /* Files */
46 #define VISITCOLOR visit_or_yellow /* Visits */
47
48 @@ -106,7 +108,7 @@
49 {
50
51 /* local variables */
52 - int i,j,x1,y1,x2;
53 + int i,j,k,x1,y1,x2;
54 int s_mth,s_year=0;
55 float cw,cs,co,ci;
56
57 @@ -139,10 +141,24 @@
58 {
59 /* Kbytes Legend */
60 i = (strlen(msg_h_xfer)*6);
61 - gdImageString(im,gdFontSmall,491-i,237,
62 + j = (strlen(msg_h_ixfer)*6);
63 + k = (strlen(msg_h_oxfer)*6);
64 + gdImageString(im,gdFontSmall,491-i-j-k-24,237,
65 (unsigned char *)msg_h_xfer,dkgrey);
66 - gdImageString(im,gdFontSmall,490-i,236,
67 + gdImageString(im,gdFontSmall,490-i-j-k-24,236,
68 (unsigned char *)msg_h_xfer,KBYTECOLOR);
69 + gdImageString(im,gdFontSmall,491-k-j-21,237,"/",dkgrey);
70 + gdImageString(im,gdFontSmall,490-k-j-21,236,"/",black);
71 + gdImageString(im,gdFontSmall,491-k-j-12,237,
72 + (unsigned char *)msg_h_ixfer,dkgrey);
73 + gdImageString(im,gdFontSmall,490-k-j-12,236,
74 + (unsigned char *)msg_h_ixfer,IKBYTECOLOR);
75 + gdImageString(im,gdFontSmall,491-k-9,237,"/",dkgrey);
76 + gdImageString(im,gdFontSmall,490-k-9,236,"/",black);
77 + gdImageString(im,gdFontSmall,491-k,237,
78 + (unsigned char *)msg_h_oxfer,dkgrey);
79 + gdImageString(im,gdFontSmall,490-k,236,
80 + (unsigned char *)msg_h_oxfer,OKBYTECOLOR);
81
82 /* Sites/Visits Legend */
83 i = (strlen(msg_h_visits)*6);
84 @@ -303,28 +319,56 @@
85 }
86
87 fmaxval=0.0;
88 - for (i=s_mth; i<HISTSIZE; i++)
89 + for (i=s_mth; i<HISTSIZE; i++){
90 if (data[i].xfer > fmaxval) fmaxval = data[i].xfer;
91 + if (data[i].ixfer > fmaxval) fmaxval = data[i].ixfer;
92 + if (data[i].oxfer > fmaxval) fmaxval = data[i].oxfer;
93 + }
94 if (fmaxval <= 0.0) fmaxval = 1.0;
95 sprintf(maxvaltxt, "%.0f", fmaxval);
96 gdImageStringUp(im, gdFontSmall,493,130+(strlen(maxvaltxt)*6),
97 (unsigned char *)maxvaltxt,black);
98
99 - cs = 180.0/graph_mths; cw = (cs/2)+(co/2);
100 - ci = 308+((cw-co)/2);
101 + cs = 180.0/graph_mths; cw = (cs/2);
102 + co = (36/graph_mths<1)?1:36/graph_mths;
103 + ci = 308+((cw-2*co)/2);
104
105 /* xfer */
106 for (i=s_mth; i<HISTSIZE; i++)
107 {
108 percent = ((float)data[i].xfer / (float)fmaxval);
109 if (percent <= 0.0) continue;
110 - x1 = ci+ ((i-s_mth)*cs);
111 + x1 = ci + ((i-s_mth)*cs);
112 x2 = x1 + cw;
113 y1 = 232 - (percent * 98);
114 gdImageFilledRectangle(im, x1, y1, x2, 232, KBYTECOLOR);
115 if (cw>2) gdImageRectangle(im, x1, y1, x2, 232, black);
116 }
117
118 + /* ixfer */
119 + for (i=s_mth; i<HISTSIZE; i++)
120 + {
121 + percent = ((float)data[i].ixfer / (float)fmaxval);
122 + if (percent <= 0.0) continue;
123 + x1 = ci + co + ((i-s_mth)*cs);
124 + x2 = x1 + cw;
125 + y1 = 232 - (percent * 98);
126 + gdImageFilledRectangle(im, x1, y1, x2, 232, IKBYTECOLOR);
127 + if (cw>2) gdImageRectangle(im, x1, y1, x2, 232, black);
128 + }
129 +
130 + /* oxfer */
131 + for (i=s_mth; i<HISTSIZE; i++)
132 + {
133 + percent = ((float)data[i].oxfer / (float)fmaxval);
134 + if (percent <= 0.0) continue;
135 + x1 = ci + co + co + ((i-s_mth)*cs);
136 + x2 = x1 + cw;
137 + y1 = 232 - (percent * 98);
138 + gdImageFilledRectangle(im, x1, y1, x2, 232, OKBYTECOLOR);
139 + if (cw>2) gdImageRectangle(im, x1, y1, x2, 232, black);
140 + }
141 +
142 /* stat the file */
143 if ( !(lstat(fname, &out_stat)) )
144 {
145 @@ -365,8 +409,10 @@
146 u_int64_t data2[31], /* data2 (files) */
147 u_int64_t data3[31], /* data3 (sites) */
148 double data4[31], /* data4 (kbytes) */
149 - u_int64_t data5[31], /* data5 (views) */
150 - u_int64_t data6[31]) /* data6 (visits) */
151 + double data5[31], /* data4 (kbytes) */
152 + double data6[31], /* data4 (kbytes) */
153 + u_int64_t data7[31], /* data5 (views) */
154 + u_int64_t data8[31]) /* data6 (visits) */
155 {
156
157 /* local variables */
158 @@ -415,7 +461,7 @@
159 {
160 if (data1[i] > maxval) maxval = data1[i]; /* get max val */
161 if (data2[i] > maxval) maxval = data2[i];
162 - if (data5[i] > maxval) maxval = data5[i];
163 + if (data7[i] > maxval) maxval = data7[i];
164 }
165 if (maxval <= 0) maxval = 1;
166 sprintf(maxvaltxt, "%llu", maxval);
167 @@ -425,22 +471,36 @@
168 if (graph_legend) /* Print color coded legends? */
169 {
170 /* Kbytes Legend */
171 + i=(strlen(msg_h_xfer)*6);
172 + j=(strlen(msg_h_ixfer)*6);
173 gdImageStringUp(im,gdFontSmall,494,376,
174 (unsigned char *)msg_h_xfer,dkgrey);
175 gdImageStringUp(im,gdFontSmall,493,375,
176 (unsigned char *)msg_h_xfer,KBYTECOLOR);
177 + gdImageStringUp(im,gdFontSmall,494,376-i-3,"/",dkgrey);
178 + gdImageStringUp(im,gdFontSmall,493,375-i-3,"/",black);
179 + gdImageStringUp(im,gdFontSmall,494,376-i-12,
180 + (unsigned char *)msg_h_ixfer,dkgrey);
181 + gdImageStringUp(im,gdFontSmall,493,375-i-12,
182 + (unsigned char *)msg_h_ixfer,IKBYTECOLOR);
183 + gdImageStringUp(im,gdFontSmall,494,376-i-j-15,"/",dkgrey);
184 + gdImageStringUp(im,gdFontSmall,493,375-i-j-15,"/",black);
185 + gdImageStringUp(im,gdFontSmall,494,376-i-j-24,
186 + (unsigned char *)msg_h_oxfer,dkgrey);
187 + gdImageStringUp(im,gdFontSmall,493,375-i-j-24,
188 + (unsigned char *)msg_h_oxfer,OKBYTECOLOR);
189
190 /* Sites/Visits Legend */
191 i = (strlen(msg_h_sites)*6);
192 - gdImageStringUp(im,gdFontSmall,494,276,
193 + gdImageStringUp(im,gdFontSmall,494,256,
194 (unsigned char *)msg_h_sites,dkgrey);
195 - gdImageStringUp(im,gdFontSmall,493,275,
196 + gdImageStringUp(im,gdFontSmall,493,255,
197 (unsigned char *)msg_h_sites,SITECOLOR);
198 - gdImageStringUp(im,gdFontSmall,494,276-i-3,(unsigned char *)"/",dkgrey);
199 - gdImageStringUp(im,gdFontSmall,493,275-i-3,(unsigned char *)"/",black);
200 - gdImageStringUp(im,gdFontSmall,494,276-i-12,
201 + gdImageStringUp(im,gdFontSmall,494,256-i-3,(unsigned char *)"/",dkgrey);
202 + gdImageStringUp(im,gdFontSmall,493,255-i-3,(unsigned char *)"/",black);
203 + gdImageStringUp(im,gdFontSmall,494,256-i-12,
204 (unsigned char *)msg_h_visits,dkgrey);
205 - gdImageStringUp(im,gdFontSmall,493,275-i-12,
206 + gdImageStringUp(im,gdFontSmall,493,255-i-12,
207 (unsigned char *)msg_h_visits,VISITCOLOR);
208
209 /* Pages/Files/Hits Legend */
210 @@ -489,11 +549,11 @@
211 gdImageRectangle(im, x1, y1, x2, 176, black);
212 }
213
214 - /* data5 */
215 + /* data7 */
216 for (i=0; i<31; i++)
217 {
218 - if (data5[i]==0) continue;
219 - percent = ((float)data5[i] / (float)maxval);
220 + if (data7[i]==0) continue;
221 + percent = ((float)data7[i] / (float)maxval);
222 if (percent <= 0.0) continue;
223 x1 = 29 + (i*15);
224 x2 = x1 + 7;
225 @@ -507,7 +567,7 @@
226 for (i=0; i<31; i++)
227 {
228 if (data3[i]>maxval) maxval = data3[i];
229 - if (data6[i]>maxval) maxval = data6[i];
230 + if (data8[i]>maxval) maxval = data8[i];
231 }
232 if (maxval <= 0) maxval = 1;
233 sprintf(maxvaltxt, "%llu", maxval);
234 @@ -517,7 +577,7 @@
235 /* data 6 */
236 for (i=0; i<31; i++)
237 {
238 - percent = ((float)data6[i] / (float)maxval);
239 + percent = ((float)data8[i] / (float)maxval);
240 if (percent <= 0.0) continue;
241 x1 = 25 + (i*15);
242 x2 = x1 + 8;
243 @@ -538,26 +598,55 @@
244 gdImageRectangle(im, x1, y1, x2, 276, black);
245 }
246
247 - /* data4 */
248 + /* xfer */
249 fmaxval=0.0;
250 - for (i=0; i<31; i++)
251 + for (i=0; i<31; i++){
252 if (data4[i]>fmaxval) fmaxval = data4[i];
253 + if (data5[i]>fmaxval) fmaxval = data5[i];
254 + if (data6[i]>fmaxval) fmaxval = data6[i];
255 + }
256 if (fmaxval <= 0.0) fmaxval = 1.0;
257 sprintf(maxvaltxt, "%.0f", fmaxval/1024);
258 gdImageStringUp(im, gdFontSmall,8,280+(strlen(maxvaltxt)*6),
259 (unsigned char *)maxvaltxt, black);
260
261 + /* data4 */
262 for (i=0; i<31; i++)
263 {
264 percent = data4[i] / fmaxval;
265 if (percent <= 0.0) continue;
266 - x1 = 26 + (i*15);
267 - x2 = x1 + 10;
268 + x1 = 25 + (i*15);
269 + x2 = x1 + 7;
270 y1 = 375 - ( percent * 91 );
271 gdImageFilledRectangle(im, x1, y1, x2, 375, KBYTECOLOR);
272 gdImageRectangle(im, x1, y1, x2, 375, black);
273 }
274
275 + /* data5 */
276 + for (i=0; i<31; i++)
277 + {
278 + percent = data5[i] / fmaxval;
279 + if (percent <= 0.0) continue;
280 + x1 = 27 + (i*15);
281 + x2 = x1 + 7;
282 + y1 = 375 - ( percent * 91 );
283 + gdImageFilledRectangle(im, x1, y1, x2, 375, IKBYTECOLOR);
284 + gdImageRectangle(im, x1, y1, x2, 375, black);
285 + }
286 +
287 + /* data6 */
288 + for (i=0; i<31; i++)
289 + {
290 + percent = data6[i] / fmaxval;
291 + if (percent <= 0.0) continue;
292 + x1 = 29 + (i*15);
293 + x2 = x1 + 7;
294 + y1 = 375 - ( percent * 91 );
295 + gdImageFilledRectangle(im, x1, y1, x2, 375, OKBYTECOLOR);
296 + gdImageRectangle(im, x1, y1, x2, 375, black);
297 + }
298 +
299 +
300 /* stat the file */
301 if ( !(lstat(fname, &out_stat)) )
302 {
303 Index: webalizer/graphs.h
304 ===================================================================
305 --- webalizer.orig/graphs.h 2011-04-18 23:54:32.000000000 +0200
306 +++ webalizer/graphs.h 2011-04-18 23:56:44.000000000 +0200
307 @@ -2,7 +2,8 @@
308 #define _GRAPHS_H
309
310 extern int month_graph6(char *, char *, int, int, u_int64_t *,
311 - u_int64_t *, u_int64_t *, double *, u_int64_t *, u_int64_t *);
312 + u_int64_t *, u_int64_t *, double *, double *, double *, u_int64_t *,
313 + u_int64_t *);
314 extern int year_graph6x(char *, char *, struct hist_rec *);
315 extern int day_graph3(char *, char *, u_int64_t *, u_int64_t *, u_int64_t *);
316 extern int pie_chart(char *, char *, u_int64_t, u_int64_t *, char **);
317 Index: webalizer/hashtab.c
318 ===================================================================
319 --- webalizer.orig/hashtab.c 2011-04-18 23:54:39.000000000 +0200
320 +++ webalizer/hashtab.c 2011-04-18 23:56:44.000000000 +0200
321 @@ -155,6 +155,8 @@
322 u_int64_t count, /* hit count */
323 u_int64_t file, /* File flag */
324 double xfer, /* xfer size */
325 + double ixfer, /* in xfer size */
326 + double oxfer, /* out xfer size */
327 u_int64_t *ctr, /* counter */
328 u_int64_t visit, /* visits */
329 u_int64_t tstamp,/* timestamp */
330 @@ -177,6 +179,8 @@
331 nptr->count = count;
332 nptr->files = file;
333 nptr->xfer = xfer;
334 + nptr->ixfer = ixfer;
335 + nptr->oxfer = oxfer;
336 nptr->next = NULL;
337 htab[hval] = nptr;
338 if (type!=OBJ_GRP) (*ctr)++;
339 @@ -219,9 +223,11 @@
340 if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP)))
341 {
342 /* found... bump counter */
343 - cptr->count+=count;
344 - cptr->files+=file;
345 - cptr->xfer +=xfer;
346 + cptr->count +=count;
347 + cptr->files +=file;
348 + cptr->xfer +=xfer;
349 + cptr->ixfer +=ixfer;
350 + cptr->oxfer +=oxfer;
351
352 if (ispage(log_rec.url))
353 {
354 @@ -253,6 +259,8 @@
355 nptr->count = count;
356 nptr->files = file;
357 nptr->xfer = xfer;
358 + nptr->ixfer = ixfer;
359 + nptr->oxfer = oxfer;
360 nptr->next = htab[hval];
361 htab[hval]=nptr;
362 if (type!=OBJ_GRP) (*ctr)++;
363 @@ -361,6 +369,7 @@
364 /*********************************************/
365
366 int put_unode(char *str, int type, u_int64_t count, double xfer,
367 + double ixfer, double oxfer,
368 u_int64_t *ctr, u_int64_t entry, u_int64_t exit, UNODEPTR *htab)
369 {
370 UNODEPTR cptr,nptr;
371 @@ -378,6 +387,8 @@
372 nptr->flag = type;
373 nptr->count= count;
374 nptr->xfer = xfer;
375 + nptr->ixfer= ixfer;
376 + nptr->oxfer= oxfer;
377 nptr->next = NULL;
378 nptr->entry= entry;
379 nptr->exit = exit;
380 @@ -395,8 +406,10 @@
381 if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP)))
382 {
383 /* found... bump counter */
384 - cptr->count+=count;
385 - cptr->xfer += xfer;
386 + cptr->count +=count;
387 + cptr->xfer += xfer;
388 + cptr->ixfer += ixfer;
389 + cptr->oxfer += oxfer;
390 return 0;
391 }
392 }
393 @@ -408,6 +421,8 @@
394 nptr->flag = type;
395 nptr->count= count;
396 nptr->xfer = xfer;
397 + nptr->ixfer= ixfer;
398 + nptr->oxfer= oxfer;
399 nptr->next = htab[hval];
400 nptr->entry= entry;
401 nptr->exit = exit;
402 @@ -846,6 +861,8 @@
403 u_int64_t count, /* hit count */
404 u_int64_t file, /* File flag */
405 double xfer, /* xfer size */
406 + double ixfer, /* in xfer size */
407 + double oxfer, /* out xfer size */
408 u_int64_t *ctr, /* counter */
409 u_int64_t visit, /* visits */
410 u_int64_t tstamp,/* timestamp */
411 @@ -867,6 +884,8 @@
412 nptr->count = count;
413 nptr->files = file;
414 nptr->xfer = xfer;
415 + nptr->ixfer = ixfer;
416 + nptr->oxfer = oxfer;
417 nptr->next = NULL;
418 htab[hval] = nptr;
419 if (type!=OBJ_GRP) (*ctr)++;
420 @@ -893,9 +912,11 @@
421 if ((type==cptr->flag)||((type!=OBJ_GRP)&&(cptr->flag!=OBJ_GRP)))
422 {
423 /* found... bump counter */
424 - cptr->count+=count;
425 - cptr->files+=file;
426 - cptr->xfer +=xfer;
427 + cptr->count +=count;
428 + cptr->files +=file;
429 + cptr->xfer +=xfer;
430 + cptr->ixfer +=ixfer;
431 + cptr->oxfer +=oxfer;
432
433 if (ispage(log_rec.url))
434 {
435 @@ -915,6 +936,8 @@
436 nptr->count = count;
437 nptr->files = file;
438 nptr->xfer = xfer;
439 + nptr->ixfer = ixfer;
440 + nptr->oxfer = oxfer;
441 nptr->next = htab[hval];
442 htab[hval] = nptr;
443 if (type!=OBJ_GRP) (*ctr)++;
444 Index: webalizer/hashtab.h
445 ===================================================================
446 --- webalizer.orig/hashtab.h 2011-04-18 23:54:32.000000000 +0200
447 +++ webalizer/hashtab.h 2011-04-18 23:56:44.000000000 +0200
448 @@ -32,6 +32,8 @@
449 u_int64_t tstamp;
450 char *lasturl;
451 double xfer;
452 + double ixfer;
453 + double oxfer;
454 struct hnode *next; };
455
456 struct unode { char *string; /* url hash table structure */
457 @@ -41,6 +43,8 @@
458 u_int64_t entry; /* entry page counter */
459 u_int64_t exit; /* exit page counter */
460 double xfer; /* xfer size in bytes */
461 + double ixfer; /* in xfer size in bytes */
462 + double oxfer; /* out xfer size in bytes */
463 struct unode *next; }; /* pointer to next node */
464
465 struct rnode { char *string; /* referrer hash table struct */
466 @@ -64,6 +68,8 @@
467 u_int64_t visit;
468 u_int64_t tstamp;
469 double xfer;
470 + double ixfer;
471 + double oxfer;
472 struct inode *next; };
473
474 extern HNODEPTR sm_htab[MAXHASH]; /* hash tables */
475 @@ -77,11 +83,11 @@
476 extern DNODEPTR host_table[MAXHASH]; /* DNS resolver table */
477 #endif
478
479 -extern int put_hnode(char *, int, u_int64_t, u_int64_t, double,
480 +extern int put_hnode(char *, int, u_int64_t, u_int64_t, double, double, double,
481 u_int64_t *, u_int64_t, u_int64_t, char *, HNODEPTR *);
482 -extern int put_unode(char *, int, u_int64_t, double, u_int64_t *,
483 +extern int put_unode(char *, int, u_int64_t, double, double, double, u_int64_t *,
484 u_int64_t, u_int64_t, UNODEPTR *);
485 -extern int put_inode(char *, int, u_int64_t, u_int64_t, double,
486 +extern int put_inode(char *, int, u_int64_t, u_int64_t, double, double, double,
487 u_int64_t *, u_int64_t, u_int64_t, INODEPTR *);
488 extern int put_rnode(char *, int, u_int64_t, u_int64_t *, RNODEPTR *);
489 extern int put_anode(char *, int, u_int64_t, u_int64_t *, ANODEPTR *);
490 Index: webalizer/lang.h
491 ===================================================================
492 --- webalizer.orig/lang.h 2011-04-18 23:54:32.000000000 +0200
493 +++ webalizer/lang.h 2011-04-18 23:56:44.000000000 +0200
494 @@ -108,6 +108,8 @@
495 extern char *msg_h_files ;
496 extern char *msg_h_sites ;
497 extern char *msg_h_xfer ;
498 +extern char *msg_h_ixfer ;
499 +extern char *msg_h_oxfer ;
500 extern char *msg_h_hname ;
501 extern char *msg_h_url ;
502 extern char *msg_h_agent ;
503 @@ -132,6 +134,8 @@
504 extern char *msg_mtot_th ;
505 extern char *msg_mtot_tf ;
506 extern char *msg_mtot_tx ;
507 +extern char *msg_mtot_ix ;
508 +extern char *msg_mtot_ox ;
509 extern char *msg_mtot_us ;
510 extern char *msg_mtot_ur ;
511 extern char *msg_mtot_ua ;
512 @@ -144,6 +148,8 @@
513 extern char *msg_mtot_msd;
514 extern char *msg_mtot_mvd;
515 extern char *msg_mtot_mkd;
516 +extern char *msg_mtot_ikd;
517 +extern char *msg_mtot_okd;
518 extern char *msg_mtot_rc ;
519
520 extern char *msg_dtot_ds ;
521 Index: webalizer/lang/webalizer_lang.catalan
522 ===================================================================
523 --- webalizer.orig/lang/webalizer_lang.catalan 2011-04-18 23:54:39.000000000 +0200
524 +++ webalizer/lang/webalizer_lang.catalan 2011-04-18 23:56:44.000000000 +0200
525 @@ -224,7 +224,9 @@
526 char *msg_h_visits= "Visites";
527 char *msg_h_files = "Fitxers";
528 char *msg_h_sites = "Navegadors";
529 -char *msg_h_xfer = "KBytes";
530 +char *msg_h_xfer = "kB F";
531 +char *msg_h_ixfer = "kB In";
532 +char *msg_h_oxfer = "kB Out";
533 char *msg_h_hname = "Visitant";
534 char *msg_h_url = "URL";
535 char *msg_h_agent = "Navegador";
536 @@ -251,6 +253,8 @@
537 char *msg_mtot_th = "Accessos totals";
538 char *msg_mtot_tf = "Fitxers totals";
539 char *msg_mtot_tx = "KBytes totals";
540 +char *msg_mtot_ix = "In KBytes totals";
541 +char *msg_mtot_ox = "Out KBytes totals";
542 char *msg_mtot_us = "Servidors totals";
543 char *msg_mtot_ur = "Referents totals";
544 char *msg_mtot_ua = "Navegadors totals";
545 @@ -263,6 +267,8 @@
546 char *msg_mtot_msd= "Servidors per dia";
547 char *msg_mtot_mvd= "Visites per dia";
548 char *msg_mtot_mkd= "KBytes per dia";
549 +char *msg_mtot_ikd= "In KBytes per dia";
550 +char *msg_mtot_okd= "Out KBytes per dia";
551 char *msg_mtot_rc = "Accessos segons codi de resposta";
552
553 /* daily total table */
554 Index: webalizer/lang/webalizer_lang.chinese
555 ===================================================================
556 --- webalizer.orig/lang/webalizer_lang.chinese 2011-04-18 23:54:32.000000000 +0200
557 +++ webalizer/lang/webalizer_lang.chinese 2011-04-18 23:56:44.000000000 +0200
558 @@ -218,7 +218,9 @@
559 char *msg_h_visits= "Visits";
560 char *msg_h_files = "ÀÉ®×";
561 char *msg_h_sites = "ºô¯¸¼Æ";
562 -char *msg_h_xfer = "¶Ç°e¶q¡]KB¡^";
563 +char *msg_h_xfer = "kB F";
564 +char *msg_h_ixfer = "kB In";
565 +char *msg_h_oxfer = "kB Out";
566 char *msg_h_hname = "¥D¾÷¦WºÙ";
567 char *msg_h_url = "ºô­¶¸ô®|";
568 char *msg_h_agent = "ÂsÄý¾¹";
569 @@ -245,6 +247,8 @@
570 char *msg_mtot_th = "Á`Ū¨ú¼Æ";
571 char *msg_mtot_tf = "Á`ÀÉ®×¼Æ";
572 char *msg_mtot_tx = "Á`¶Ç°e¶q¡]KB¡^";
573 +char *msg_mtot_ix = "Total kB In";
574 +char *msg_mtot_ox = "Total kB Out";
575 char *msg_mtot_us = "¨Ó·½ºô¯¸Á`¼Æ¡]¤£¥]§t­«ÂЪ̡^";
576 char *msg_mtot_ur = "¨Ó·½ºô­¶Á`¼Æ¡]¤£¥]§t­«ÂЪ̡^";
577 char *msg_mtot_ua = "¨Ó·½ÂsÄý¾¹Á`¼Æ¡]¤£¥]§t­«ÂЪ̡^";
578 @@ -256,7 +260,9 @@
579 char *msg_mtot_mpd= "Pages per Day";
580 char *msg_mtot_msd= "Sites per Day";
581 char *msg_mtot_mvd= "Visits per Day";
582 -char *msg_mtot_mkd= "KBytes per Day";
583 +char *msg_mtot_mkd= "kB Files per Day";
584 +char *msg_mtot_ikd= "kB In per Day";
585 +char *msg_mtot_okd= "kB Out per Day";
586 char *msg_mtot_rc = "ºô­¶Åª¨ú®É¤§¦^À³¥N½X";
587
588 /* daily total table */
589 Index: webalizer/lang/webalizer_lang.croatian
590 ===================================================================
591 --- webalizer.orig/lang/webalizer_lang.croatian 2011-04-18 23:54:32.000000000 +0200
592 +++ webalizer/lang/webalizer_lang.croatian 2011-04-18 23:56:44.000000000 +0200
593 @@ -215,7 +215,9 @@
594 char *msg_h_visits= "Posjeta";
595 char *msg_h_files = "Datoteka";
596 char *msg_h_sites = "Kompjutera";
597 -char *msg_h_xfer = "KB";
598 +char *msg_h_xfer = "kB D";
599 +char *msg_h_ixfer = "kB U";
600 +char *msg_h_oxfer = "kB Van";
601 char *msg_h_hname = "Kompjuter";
602 char *msg_h_url = "URL";
603 char *msg_h_agent = "Korisnicki program";
604 @@ -241,7 +243,9 @@
605 char *msg_mtot_ms = "Mjesecna statistika za";
606 char *msg_mtot_th = "Ukupno pristupa";
607 char *msg_mtot_tf = "Ukupno datoteka";
608 -char *msg_mtot_tx = "Ukupno KBajta";
609 +char *msg_mtot_tx = "Ukupno kB datoteka";
610 +char *msg_mtot_ix = "Ukupno kB unutra";
611 +char *msg_mtot_ox = "Ukupno kB van";
612 char *msg_mtot_us = "Ukupno razlicitih kompjutera";
613 char *msg_mtot_ur = "Ukupno razlicitih referiranja";
614 char *msg_mtot_ua = "Ukupno razlicitih browsera";
615 @@ -253,7 +257,9 @@
616 char *msg_mtot_mpd= "Datoteka na sat";
617 char *msg_mtot_msd= "Kompjutera na dan";
618 char *msg_mtot_mvd= "Posjeta na dan";
619 -char *msg_mtot_mkd= "KBajta na dan";
620 +char *msg_mtot_mkd= "kB Datatoka na dan";
621 +char *msg_mtot_ikd= "kB Unutra na dan";
622 +char *msg_mtot_okd= "kB Van na dan";
623 char *msg_mtot_rc = "Pristupa po kodu";
624
625 /* daily total table */
626 Index: webalizer/lang/webalizer_lang.czech
627 ===================================================================
628 --- webalizer.orig/lang/webalizer_lang.czech 2011-04-18 23:54:32.000000000 +0200
629 +++ webalizer/lang/webalizer_lang.czech 2011-04-18 23:56:44.000000000 +0200
630 @@ -226,7 +226,9 @@
631 char *msg_h_visits= "Náv¹tìv";
632 char *msg_h_files = "Souborù";
633 char *msg_h_sites = "Míst";
634 -char *msg_h_xfer = "KBytù";
635 +char *msg_h_xfer = "kB S";
636 +char *msg_h_oxfer = "kB In";
637 +char *msg_h_ixfer = "kB Out";
638 char *msg_h_hname = "Poèítaè";
639 char *msg_h_url = "URL";
640 char *msg_h_agent = "Prohlí¾eè";
641 @@ -252,7 +254,9 @@
642 char *msg_mtot_ms = "Mìsíèní statistiky za";
643 char *msg_mtot_th = "Celkem náv¹tìv";
644 char *msg_mtot_tf = "Celkem souborù";
645 -char *msg_mtot_tx = "Celkem KBytù";
646 +char *msg_mtot_tx = "Celkem kB souborù";
647 +char *msg_mtot_ix = "Celkem kB In";
648 +char *msg_mtot_ox = "Celkem kB Out";
649 char *msg_mtot_us = "Celkem jedineèných míst";
650 char *msg_mtot_ur = "Celkem jedineèných odkazovaèù";
651 char *msg_mtot_ua = "Celkem jedineèných Prohlí¾eèù";
652 @@ -265,6 +269,8 @@
653 char *msg_mtot_msd= "Míst za den";
654 char *msg_mtot_mvd= "Náv¹tìv za den";
655 char *msg_mtot_mkd= "KBytù za den";
656 +char *msg_mtot_ikd= "kBytù In za den";
657 +char *msg_mtot_okd= "kBytù Out za den";
658 char *msg_mtot_rc = "Náv¹tìvy podle kódu odpovìdi";
659
660 /* daily total table */
661 Index: webalizer/lang/webalizer_lang.danish
662 ===================================================================
663 --- webalizer.orig/lang/webalizer_lang.danish 2011-04-18 23:54:32.000000000 +0200
664 +++ webalizer/lang/webalizer_lang.danish 2011-04-18 23:56:44.000000000 +0200
665 @@ -218,7 +218,9 @@
666 char *msg_h_visits= "Besøg";
667 char *msg_h_files = "Filer";
668 char *msg_h_sites = "Gæster";
669 -char *msg_h_xfer = "kB";
670 +char *msg_h_xfer = "kB F";
671 +char *msg_h_ixfer = "kB In";
672 +char *msg_h_oxfer = "kB Out";
673 char *msg_h_hname = "Navn/IP-adresse";
674 char *msg_h_url = "URL";
675 char *msg_h_agent = "Browser";
676 @@ -244,7 +246,9 @@
677 char *msg_mtot_ms = "Månedlig statistik for";
678 char *msg_mtot_th = "Forespørgsler";
679 char *msg_mtot_tf = "Filer";
680 -char *msg_mtot_tx = "kB";
681 +char *msg_mtot_tx = "kB Filer";
682 +char *msg_mtot_ix = "kB In";
683 +char *msg_mtot_ox = "kB Out";
684 char *msg_mtot_us = "Unikke gæster";
685 char *msg_mtot_ur = "Unikke henvisende sider";
686 char *msg_mtot_ua = "Unikke browsere";
687 @@ -256,7 +260,9 @@
688 char *msg_mtot_mpd= "Sider pr. dag";
689 char *msg_mtot_msd= "Gæster pr. dag";
690 char *msg_mtot_mvd= "Besøg pr. dag";
691 -char *msg_mtot_mkd= "kB pr. dag";
692 +char *msg_mtot_mkd= "kB Filer pr. dag";
693 +char *msg_mtot_ikd= "kB Out pr. dag";
694 +char *msg_mtot_okd= "kB In pr. dag";
695 char *msg_mtot_rc = "Forespørgsler fordelt på svarkoder";
696
697 /* daily total table */
698 Index: webalizer/lang/webalizer_lang.dutch
699 ===================================================================
700 --- webalizer.orig/lang/webalizer_lang.dutch 2011-04-18 23:54:32.000000000 +0200
701 +++ webalizer/lang/webalizer_lang.dutch 2011-04-18 23:56:44.000000000 +0200
702 @@ -234,7 +234,9 @@
703 char *msg_h_visits= "Bezoeken";
704 char *msg_h_files = "Bestanden";
705 char *msg_h_sites = "Hosts";
706 -char *msg_h_xfer = "kB"; /* afgekort i.v.m. onderschrift grafiek */
707 +char *msg_h_xfer = "kB B"; /* afgekort i.v.m. onderschrift grafiek */
708 +char *msg_h_ixfer = "kB In";
709 +char *msg_h_oxfer = "kB Out";
710 char *msg_h_hname = "Host(naam)";
711 char *msg_h_url = "URL";
712 char *msg_h_agent = "Browser";
713 @@ -260,7 +262,9 @@
714 char *msg_mtot_ms = "Maandoverzicht -";
715 char *msg_mtot_th = "Totaal hits";
716 char *msg_mtot_tf = "Totaal bestanden";
717 -char *msg_mtot_tx = "Totaal kilobytes";
718 +char *msg_mtot_tx = "Totaal kB bestanden";
719 +char *msg_mtot_ix = "Totaal kB In";
720 +char *msg_mtot_ox = "Totaal kB Out";
721 char *msg_mtot_us = "Totaal verschillende hosts";
722 char *msg_mtot_ur = "Totaal verschillende verwijzers";
723 char *msg_mtot_ua = "Totaal verschillende browsers";
724 @@ -272,7 +276,9 @@
725 char *msg_mtot_mpd= "Pagina's per dag";
726 char *msg_mtot_msd= "Hosts per dag";
727 char *msg_mtot_mvd= "Bezoeken per dag";
728 -char *msg_mtot_mkd= "Kilobytes per dag";
729 +char *msg_mtot_mkd= "kB Bestanden per dag";
730 +char *msg_mtot_ikd= "kB In per dag";
731 +char *msg_mtot_okd= "kB Out per dag";
732 char *msg_mtot_rc = "Hits per 'Response Code'";
733
734 /* daily total table */
735 Index: webalizer/lang/webalizer_lang.english
736 ===================================================================
737 --- webalizer.orig/lang/webalizer_lang.english 2011-04-18 23:54:32.000000000 +0200
738 +++ webalizer/lang/webalizer_lang.english 2011-04-18 23:56:44.000000000 +0200
739 @@ -219,7 +219,9 @@
740 char *msg_h_visits= "Visits";
741 char *msg_h_files = "Files";
742 char *msg_h_sites = "Sites";
743 -char *msg_h_xfer = "KBytes";
744 +char *msg_h_xfer = "kB F";
745 +char *msg_h_ixfer = "kB In";
746 +char *msg_h_oxfer = "kB Out";
747 char *msg_h_hname = "Hostname";
748 char *msg_h_url = "URL";
749 char *msg_h_agent = "User Agent";
750 @@ -245,7 +247,9 @@
751 char *msg_mtot_ms = "Monthly Statistics for";
752 char *msg_mtot_th = "Total Hits";
753 char *msg_mtot_tf = "Total Files";
754 -char *msg_mtot_tx = "Total KBytes";
755 +char *msg_mtot_tx = "Total kB Files";
756 +char *msg_mtot_ix = "Total kB In";
757 +char *msg_mtot_ox = "Total kB Out";
758 char *msg_mtot_us = "Total Unique Sites";
759 char *msg_mtot_ur = "Total Unique Referrers";
760 char *msg_mtot_ua = "Total Unique User Agents";
761 @@ -257,7 +261,9 @@
762 char *msg_mtot_mpd= "Pages per Day";
763 char *msg_mtot_msd= "Sites per Day";
764 char *msg_mtot_mvd= "Visits per Day";
765 -char *msg_mtot_mkd= "KBytes per Day";
766 +char *msg_mtot_mkd= "kB Files per Day";
767 +char *msg_mtot_ikd= "kB In per Day";
768 +char *msg_mtot_okd= "kB Out per Day";
769 char *msg_mtot_rc = "Hits by Response Code";
770
771 /* daily total table */
772 Index: webalizer/lang/webalizer_lang.estonian
773 ===================================================================
774 --- webalizer.orig/lang/webalizer_lang.estonian 2011-04-18 23:54:32.000000000 +0200
775 +++ webalizer/lang/webalizer_lang.estonian 2011-04-18 23:56:44.000000000 +0200
776 @@ -218,7 +218,9 @@
777 char *msg_h_visits= "Külastusi";
778 char *msg_h_files = "Faile";
779 char *msg_h_sites = "Arvuteid";
780 -char *msg_h_xfer = "KBaite";
781 +char *msg_h_xfer = "kB F";
782 +char *msg_h_ixfer = "kB In";
783 +char *msg_h_oxfer = "kB Out";
784 char *msg_h_hname = "Server";
785 char *msg_h_url = "Aadress";
786 char *msg_h_agent = "Lehitseja";
787 @@ -244,7 +246,9 @@
788 char *msg_mtot_ms = "Kuu statistika";
789 char *msg_mtot_th = "Kokku Pöördumisi";
790 char *msg_mtot_tf = "Kokku Faile";
791 -char *msg_mtot_tx = "Kokku KBaite";
792 +char *msg_mtot_tx = "Kokku kB Faile";
793 +char *msg_mtot_ix = "Kokku kB In";
794 +char *msg_mtot_ox = "Kokku kB Out";
795 char *msg_mtot_us = "Kokku Erinevaid Kasutajaid";
796 char *msg_mtot_ur = "Kokku Erinevaid Viitajaid";
797 char *msg_mtot_ua = "Kokku Erinevaid Lehitsejaid";
798 @@ -256,7 +260,9 @@
799 char *msg_mtot_mpd= "Lehekülgi Päevas";
800 char *msg_mtot_msd= "Külastajaarvutist Päevas";
801 char *msg_mtot_mvd= "Visiite Päevas";
802 -char *msg_mtot_mkd= "KBaite Päevas";
803 +char *msg_mtot_mkd= "kB Faile Päevas";
804 +char *msg_mtot_ikd= "kB In Päevas";
805 +char *msg_mtot_okd= "kB Out Päevas";
806 char *msg_mtot_rc = "Pöördumisi vastusetüüpide kaupa";
807
808 /* daily total table */
809 Index: webalizer/lang/webalizer_lang.finnish
810 ===================================================================
811 --- webalizer.orig/lang/webalizer_lang.finnish 2011-04-18 23:54:32.000000000 +0200
812 +++ webalizer/lang/webalizer_lang.finnish 2011-04-18 23:56:44.000000000 +0200
813 @@ -226,7 +226,9 @@
814 char *msg_h_visits= "vierailuja";
815 char *msg_h_files = "tiedostoja";
816 char *msg_h_sites = "koneita";
817 -char *msg_h_xfer = "kilotavuja";
818 +char *msg_h_xfer = "kB T";
819 +char *msg_h_ixfer = "kB In";
820 +char *msg_h_oxfer = "kB Out";
821 char *msg_h_hname = "Välityspalvelin";
822 char *msg_h_url = "URL";
823 char *msg_h_agent = "Käytetyt selaimet";
824 @@ -252,7 +254,9 @@
825 char *msg_mtot_ms = "Kuukausitilastot";
826 char *msg_mtot_th = "Osumia yhteensä";
827 char *msg_mtot_tf = "Tiedostoja yhteensä";
828 -char *msg_mtot_tx = "Kilotavuja yhteensä";
829 +char *msg_mtot_tx = "kB Tiedostoja yhteensä";
830 +char *msg_mtot_ix = "kB In yhteensä";
831 +char *msg_mtot_ox = "kB Out yhteensä";
832 char *msg_mtot_us = "Yhteensä erilaisia koneita";
833 char *msg_mtot_ur = "Yhteensä erilaisia hakupalvelimia";
834 char *msg_mtot_ua = "Yhteensä erilaisia selaimia";
835 @@ -264,7 +268,9 @@
836 char *msg_mtot_mpd= "Sivuja / päivä";
837 char *msg_mtot_msd= "Koneita / päivä";
838 char *msg_mtot_mvd= "Vierailuja / päivä";
839 -char *msg_mtot_mkd= "Kilotavuja / päivä";
840 +char *msg_mtot_mkd= "kB Tiedostoja / päivä";
841 +char *msg_mtot_ikd= "kB In / päivä";
842 +char *msg_mtot_okd= "kB Out / päivä";
843 char *msg_mtot_rc = "Osumien vastauskoodit";
844
845 /* daily total table */
846 Index: webalizer/lang/webalizer_lang.french
847 ===================================================================
848 --- webalizer.orig/lang/webalizer_lang.french 2011-04-18 23:54:32.000000000 +0200
849 +++ webalizer/lang/webalizer_lang.french 2011-04-18 23:56:44.000000000 +0200
850 @@ -253,7 +253,9 @@
851 char *msg_h_visits= "Visites";
852 char *msg_h_files = "Fichiers";
853 char *msg_h_sites = "Sites";
854 -char *msg_h_xfer = "Ko";
855 +char *msg_h_xfer = "kB F";
856 +char *msg_h_ixfer = "kB In";
857 +char *msg_h_oxfer = "kB Out";
858 char *msg_h_hname = "Nom d'h&ocirc;te";
859 char *msg_h_url = "URL";
860 char *msg_h_agent = "Navigateur";
861 @@ -279,7 +281,9 @@
862 char *msg_mtot_ms = "Statistiques mensuelles pour";
863 char *msg_mtot_th = "Total des Hits";
864 char *msg_mtot_tf = "Total des Fichiers";
865 -char *msg_mtot_tx = "Total des Ko";
866 +char *msg_mtot_tx = "Total des kB Fichiers";
867 +char *msg_mtot_ix = "Total des kB In";
868 +char *msg_mtot_ox = "Total des kB Out";
869 char *msg_mtot_us = "Total des Sites uniques";
870 char *msg_mtot_ur = "Total des R&eacute;f&eacute;rents uniques";
871 char *msg_mtot_ua = "Total des Navigateurs";
872 @@ -291,7 +295,9 @@
873 char *msg_mtot_mpd= "Pages par Jour";
874 char *msg_mtot_msd= "Sites par Jour";
875 char *msg_mtot_mvd= "Visites par Jour";
876 -char *msg_mtot_mkd= "KOctets par Jour";
877 +char *msg_mtot_mkd= "kB Fichiers par Jour";
878 +char *msg_mtot_ikd= "kB In par Jour";
879 +char *msg_mtot_okd= "kB Out par Jour";
880 char *msg_mtot_rc = "Hits par code de r&eacute;ponse";
881
882 /* daily total table */
883 Index: webalizer/lang/webalizer_lang.galician
884 ===================================================================
885 --- webalizer.orig/lang/webalizer_lang.galician 2011-04-18 23:54:32.000000000 +0200
886 +++ webalizer/lang/webalizer_lang.galician 2011-04-18 23:56:44.000000000 +0200
887 @@ -223,7 +223,9 @@
888 char *msg_h_visits= "Visitas";
889 char *msg_h_files = "Arquivos";
890 char *msg_h_sites = "Clientes";
891 -char *msg_h_xfer = "KBytes";
892 +char *msg_h_xfer = "kB A";
893 +char *msg_h_ixfer = "kB In";
894 +char *msg_h_oxfer = "kB Out";
895 char *msg_h_hname = "Máquina";
896 char *msg_h_url = "URL";
897 char *msg_h_agent = "Programa cliente";
898 @@ -249,7 +251,9 @@
899 char *msg_mtot_ms = "Estatísticas mensuais de";
900 char *msg_mtot_th = "Total Accesos";
901 char *msg_mtot_tf = "Total Arquivos";
902 -char *msg_mtot_tx = "Total KBytes";
903 +char *msg_mtot_tx = "Total kB Arquivos";
904 +char *msg_mtot_ix = "Total kB In";
905 +char *msg_mtot_ox = "Total kB Out";
906 char *msg_mtot_us = "Total Clientes";
907 char *msg_mtot_ur = "Total Ligazóns orixe";
908 char *msg_mtot_ua = "Total Programas visores";
909 @@ -261,7 +265,9 @@
910 char *msg_mtot_mpd= "Páxinas por Día";
911 char *msg_mtot_msd= "Clientes por Día";
912 char *msg_mtot_mvd= "Visitas por Día";
913 -char *msg_mtot_mkd= "KBytes por Día";
914 +char *msg_mtot_mkd= "kB Arquivos por Día";
915 +char *msg_mtot_ikd= "kB In por Día";
916 +char *msg_mtot_okd= "kB Out por Día";
917 char *msg_mtot_rc = "Accesos por código de resposta";
918
919 /* daily total table */
920 Index: webalizer/lang/webalizer_lang.german
921 ===================================================================
922 --- webalizer.orig/lang/webalizer_lang.german 2011-04-18 23:54:32.000000000 +0200
923 +++ webalizer/lang/webalizer_lang.german 2011-04-18 23:56:44.000000000 +0200
924 @@ -243,7 +243,9 @@
925 char *msg_h_visits= "Besuche";
926 char *msg_h_files = "Dateien";
927 char *msg_h_sites = "Rechner";
928 -char *msg_h_xfer = "kb";
929 +char *msg_h_xfer = "kB D";
930 +char *msg_h_ixfer = "kB In";
931 +char *msg_h_oxfer = "kB Out";
932 char *msg_h_hname = "Rechnername";
933 char *msg_h_url = "URL";
934 char *msg_h_agent = "Anwenderprogramm";
935 @@ -269,7 +271,9 @@
936 char *msg_mtot_ms = "Monats-Statistik f&uuml;r";
937 char *msg_mtot_th = "Summe der Anfragen";
938 char *msg_mtot_tf = "Summe der Dateien";
939 -char *msg_mtot_tx = "Summe in kb";
940 +char *msg_mtot_tx = "Summe kB Dateien";
941 +char *msg_mtot_ix = "Summe kB In";
942 +char *msg_mtot_ox = "Summe kB Out";
943 char *msg_mtot_us = "Summe der unterschiedlichen Rechner (IP-Adressen)";
944 char *msg_mtot_ur = "Summe der unterschiedlichen Verweise";
945 char *msg_mtot_ua = "Summe der unterschiedlichen Anwenderprogramme";
946 @@ -281,7 +285,9 @@
947 char *msg_mtot_mpd= "Seiten pro Tag";
948 char *msg_mtot_msd= "Rechner (IP-Adressen) pro Tag";
949 char *msg_mtot_mvd= "Besuche pro Tag";
950 -char *msg_mtot_mkd= "kb pro Tag";
951 +char *msg_mtot_mkd= "kB Dateien pro Tag";
952 +char *msg_mtot_ikd= "kB In pro Tag";
953 +char *msg_mtot_okd= "kB Out pro Tag";
954 char *msg_mtot_rc = "Anfragen nach Status-Codes";
955
956 /* daily total table */
957 Index: webalizer/lang/webalizer_lang.greek
958 ===================================================================
959 --- webalizer.orig/lang/webalizer_lang.greek 2011-04-18 23:54:32.000000000 +0200
960 +++ webalizer/lang/webalizer_lang.greek 2011-04-18 23:56:44.000000000 +0200
961 @@ -217,7 +217,9 @@
962 char *msg_h_visits= "ÅðéóêÝøåéò";
963 char *msg_h_files = "Áñ÷åßá";
964 char *msg_h_sites = "ÓõóôÞìáôá";
965 -char *msg_h_xfer = "KBytes";
966 +char *msg_h_xfer = "kB F";
967 +char *msg_h_ixfer = "kB In";
968 +char *msg_h_oxfer = "kB Out";
969 char *msg_h_hname = "Óýóôçìá";
970 char *msg_h_url = "URL";
971 char *msg_h_agent = "Ðñüãñáììá";
972 @@ -243,7 +245,9 @@
973 char *msg_mtot_ms = "ÓõãêåíôñùôéêÜ óôïé÷åßá ãéá ôï ìÞíá";
974 char *msg_mtot_th = "ÓõíïëéêÜ Hits";
975 char *msg_mtot_tf = "Óýíïëï áñ÷åßùí";
976 -char *msg_mtot_tx = "Óýíïëï KBytes";
977 +char *msg_mtot_tx = "Óýíïëï kB áñ÷åßùí";
978 +char *msg_mtot_ix = "Óýíïëï kB In";
979 +char *msg_mtot_ox = "Óýíïëï kB Out";
980 char *msg_mtot_us = "Óýíïëï äéáöïñåôéêþí óõóôçìÜôùí";
981 char *msg_mtot_ur = "Óýíïëï äéáöïñåôéêþí áíáöåñüíôùí";
982 char *msg_mtot_ua = "Óýíïëï äéáöïñåôéêþí ðñïãñáììÜôùí";
983 @@ -255,7 +259,9 @@
984 char *msg_mtot_mpd= "Óåëßäåò áíÜ çìÝñá";
985 char *msg_mtot_msd= "Sites per Day";
986 char *msg_mtot_mvd= "ÅðéóêÝøåéò áíÜ çìÝñá";
987 -char *msg_mtot_mkd= "KBytes áíÜ çìÝñá";
988 +char *msg_mtot_mkd= "kB Áñ÷åßá áíÜ çìÝñá";
989 +char *msg_mtot_ikd= "kB In áíÜ çìÝñá";
990 +char *msg_mtot_okd= "kB Out áíÜ çìÝñá";
991 char *msg_mtot_rc = "Hits áðü ôï áðïôÝëåóìá";
992
993 /* daily total table */
994 Index: webalizer/lang/webalizer_lang.hungarian
995 ===================================================================
996 --- webalizer.orig/lang/webalizer_lang.hungarian 2011-04-18 23:54:32.000000000 +0200
997 +++ webalizer/lang/webalizer_lang.hungarian 2011-04-18 23:56:44.000000000 +0200
998 @@ -224,7 +224,9 @@
999 char *msg_h_visits= "Látogatók";
1000 char *msg_h_files = "File-ok";
1001 char *msg_h_sites = "Oldalak";
1002 -char *msg_h_xfer = "KByte";
1003 +char *msg_h_xfer = "kB F";
1004 +char *msg_h_ixfer = "kB In";
1005 +char *msg_h_oxfer = "kB Out";
1006 char *msg_h_hname = "Hostnév";
1007 char *msg_h_url = "URL";
1008 char *msg_h_agent = "Felhasználó böngészõje";
1009 @@ -250,7 +252,9 @@
1010 char *msg_mtot_ms = "Havi Statisztika:";
1011 char *msg_mtot_th = "Összes Találat";
1012 char *msg_mtot_tf = "Összes File";
1013 -char *msg_mtot_tx = "Összes KByte";
1014 +char *msg_mtot_tx = "Összes kB File";
1015 +char *msg_mtot_ix = "Összes kB In";
1016 +char *msg_mtot_ox = "Összes kB Out";
1017 char *msg_mtot_us = "Összes különbözõ Oldal";
1018 char *msg_mtot_ur = "Összes különbözõ Hivatkozás";
1019 char *msg_mtot_ua = "Összes különbözõ Felhasználó böngészõje";
1020 @@ -262,7 +266,9 @@
1021 char *msg_mtot_mpd= "Lap/nap";
1022 char *msg_mtot_msd= "Oldal/nap";
1023 char *msg_mtot_mvd= "Látogató/nap";
1024 -char *msg_mtot_mkd= "KByte/nap";
1025 +char *msg_mtot_mkd= "kB File/nap";
1026 +char *msg_mtot_ikd= "kB In/nap";
1027 +char *msg_mtot_okd= "kB Out/nap";
1028 char *msg_mtot_rc = "Válaszkódok általi találatok";
1029
1030 /* daily total table */
1031 Index: webalizer/lang/webalizer_lang.icelandic
1032 ===================================================================
1033 --- webalizer.orig/lang/webalizer_lang.icelandic 2011-04-18 23:54:32.000000000 +0200
1034 +++ webalizer/lang/webalizer_lang.icelandic 2011-04-18 23:56:44.000000000 +0200
1035 @@ -226,7 +226,9 @@
1036 char *msg_h_visits= "Heimsóknir";
1037 char *msg_h_files = "Skrár";
1038 char *msg_h_sites = "Sites";
1039 -char *msg_h_xfer = "KBæti";
1040 +char *msg_h_xfer = "kB S";
1041 +char *msg_h_ixfer = "kB In";
1042 +char *msg_h_oxfer = "kB Out";
1043 char *msg_h_hname = "Host nafn";
1044 char *msg_h_url = "Slóð";
1045 char *msg_h_agent = "User Agent";
1046 @@ -252,7 +254,9 @@
1047 char *msg_mtot_ms = "Mánaðar Samtölur fyrir";
1048 char *msg_mtot_th = "Samtals Beiðnir";
1049 char *msg_mtot_tf = "Samtals Skrár";
1050 -char *msg_mtot_tx = "Samtals KBæti";
1051 +char *msg_mtot_tx = "Samtals kB Skrár";
1052 +char *msg_mtot_ix = "Samtals kB In";
1053 +char *msg_mtot_ox = "Samtals kB Out";
1054 char *msg_mtot_us = "Samtals Einstakar Síður";
1055 char *msg_mtot_ur = "Samtals Unique Referrers";
1056 char *msg_mtot_ua = "Samtals Unique User Agents";
1057 @@ -264,7 +268,9 @@
1058 char *msg_mtot_mpd= "Síður á Dag";
1059 char *msg_mtot_msd= "Síður (sites) á Dag";
1060 char *msg_mtot_mvd= "Heimsóknir á Dag";
1061 -char *msg_mtot_mkd= "KBæti á Dag";
1062 +char *msg_mtot_mkd= "kB Skrár á Dag";
1063 +char *msg_mtot_ikd= "kB In á Dag";
1064 +char *msg_mtot_okd= "kB Out á Dag";
1065 char *msg_mtot_rc = "Hits by Response Code";
1066
1067 /* daily total table */
1068 Index: webalizer/lang/webalizer_lang.indonesian
1069 ===================================================================
1070 --- webalizer.orig/lang/webalizer_lang.indonesian 2011-04-18 23:54:32.000000000 +0200
1071 +++ webalizer/lang/webalizer_lang.indonesian 2011-04-18 23:56:44.000000000 +0200
1072 @@ -222,7 +222,9 @@
1073 char *msg_h_visits= "Kunjungan";
1074 char *msg_h_files = "File";
1075 char *msg_h_sites = "Situs";
1076 -char *msg_h_xfer = "KByte";
1077 +char *msg_h_xfer = "kB F";
1078 +char *msg_h_ixfer = "kB In";
1079 +char *msg_h_oxfer = "kB Out";
1080 char *msg_h_hname = "Nama Host";
1081 char *msg_h_url = "URL";
1082 char *msg_h_agent = "Browser/User Agent";
1083 @@ -248,7 +250,9 @@
1084 char *msg_mtot_ms = "Statistik bulanan untuk";
1085 char *msg_mtot_th = "Jumlah Hit";
1086 char *msg_mtot_tf = "Jumlah File";
1087 -char *msg_mtot_tx = "Jumlah KByte";
1088 +char *msg_mtot_tx = "Jumlah kB File";
1089 +char *msg_mtot_ix = "Jumlah kB In";
1090 +char *msg_mtot_ox = "Jumlah kB Out";
1091 char *msg_mtot_us = "Jumlah Situs unik";
1092 char *msg_mtot_ur = "Jumlah Acuan unik";
1093 char *msg_mtot_ua = "Jumlah Browser unik";
1094 @@ -260,7 +264,9 @@
1095 char *msg_mtot_mpd= "Halaman per hari";
1096 char *msg_mtot_msd= "Situs per hari";
1097 char *msg_mtot_mvd= "Kunjungan per hari";
1098 -char *msg_mtot_mkd= "KByte per hari";
1099 +char *msg_mtot_mkd= "kB File per hari";
1100 +char *msg_mtot_ikd= "kB In per hari";
1101 +char *msg_mtot_okd= "kB Out per hari";
1102 char *msg_mtot_rc = "Hit oleh kode respon";
1103
1104 /* daily total table */
1105 Index: webalizer/lang/webalizer_lang.italian
1106 ===================================================================
1107 --- webalizer.orig/lang/webalizer_lang.italian 2011-04-18 23:54:32.000000000 +0200
1108 +++ webalizer/lang/webalizer_lang.italian 2011-04-18 23:56:44.000000000 +0200
1109 @@ -221,7 +221,9 @@
1110 char *msg_h_visits= "Visite";
1111 char *msg_h_files = "File";
1112 char *msg_h_sites = "Siti";
1113 -char *msg_h_xfer = "KBytes";
1114 +char *msg_h_xfer = "kB F";
1115 +char *msg_h_ixfer = "kB In";
1116 +char *msg_h_oxfer = "kB Out";
1117 char *msg_h_hname = "Nomi di Host";
1118 char *msg_h_url = "URL";
1119 char *msg_h_agent = "Browser";
1120 @@ -247,7 +249,9 @@
1121 char *msg_mtot_ms = "Statistiche Mensili per";
1122 char *msg_mtot_th = "Contatti";
1123 char *msg_mtot_tf = "File";
1124 -char *msg_mtot_tx = "KBytes";
1125 +char *msg_mtot_tx = "kB File";
1126 +char *msg_mtot_ix = "kB In";
1127 +char *msg_mtot_ox = "kB Out";
1128 char *msg_mtot_us = "Nomi di Host";
1129 char *msg_mtot_ur = "Referrer";
1130 char *msg_mtot_ua = "Browser";
1131 @@ -259,7 +263,9 @@
1132 char *msg_mtot_mpd= "Pagine Giornaliere";
1133 char *msg_mtot_msd= "Host Giornaliere";
1134 char *msg_mtot_mvd= "Visite Giornaliere";
1135 -char *msg_mtot_mkd= "KBytes Giornalieri";
1136 +char *msg_mtot_mkd= "kB File Giornalieri";
1137 +char *msg_mtot_ikd= "kB In Giornalieri";
1138 +char *msg_mtot_okd= "kB Out Giornalieri";
1139 char *msg_mtot_rc = "Contatti per Codice di Risposta";
1140
1141 /* daily total table */
1142 Index: webalizer/lang/webalizer_lang.japanese
1143 ===================================================================
1144 --- webalizer.orig/lang/webalizer_lang.japanese 2011-04-18 23:54:32.000000000 +0200
1145 +++ webalizer/lang/webalizer_lang.japanese 2011-04-18 23:56:44.000000000 +0200
1146 @@ -215,7 +215,9 @@
1147 char *msg_h_visits= "Visits";
1148 char *msg_h_files = "Files";
1149 char *msg_h_sites = "Sites";
1150 -char *msg_h_xfer = "KBytes";
1151 +char *msg_h_xfer = "kB F";
1152 +char *msg_h_ixfer = "kB In";
1153 +char *msg_h_oxfer = "kB Out";
1154 char *msg_h_hname = "¥Û¥¹¥È̾";
1155 char *msg_h_url = "URL";
1156 char *msg_h_agent = "¥æ¡¼¥¶¥¨¡¼¥¸¥§¥ó¥È";
1157 @@ -242,6 +244,8 @@
1158 char *msg_mtot_th = "Á´¥Ò¥Ã¥È¿ô";
1159 char *msg_mtot_tf = "Á´¥Õ¥¡¥¤¥ë¿ô";
1160 char *msg_mtot_tx = "Á´ KBytes¿ô";
1161 +char *msg_mtot_ix = "Total kB In";
1162 +char *msg_mtot_ox = "Total kB Out";
1163 char *msg_mtot_us = "¸ÄÊÌ¥µ¥¤¥È¿ô";
1164 char *msg_mtot_ur = "¸ÄÊÌ¥ê¥Õ¥¡¥é¡¼¿ô";
1165 char *msg_mtot_ua = "¸ÄÊ̥桼¥¶¥¨¡¼¥¸¥§¥ó¥È¿ô";
1166 @@ -254,6 +258,8 @@
1167 char *msg_mtot_msd= "Sites per Day";
1168 char *msg_mtot_mvd= "°ìÆü¤¢¤¿¤ê¤ÎˬÌä¼Ô¿ô";
1169 char *msg_mtot_mkd= "°ìÆü¤¢¤¿¤ê¤ÎKBytes¿ô";
1170 +char *msg_mtot_ikd= "kB In per day";
1171 +char *msg_mtot_okd= "kB Out per day";
1172 char *msg_mtot_rc = "¥ì¥¹¥Ý¥ó¥¹¥³¡¼¥É¤´¤È¤Î¥Ò¥Ã¥È¿ô";
1173
1174 /* daily total table */
1175 Index: webalizer/lang/webalizer_lang.korean
1176 ===================================================================
1177 --- webalizer.orig/lang/webalizer_lang.korean 2011-04-18 23:54:32.000000000 +0200
1178 +++ webalizer/lang/webalizer_lang.korean 2011-04-18 23:56:44.000000000 +0200
1179 @@ -219,7 +219,9 @@
1180 char *msg_h_visits= "Visits";
1181 char *msg_h_files = "Files";
1182 char *msg_h_sites = "Sites";
1183 -char *msg_h_xfer = "KBytes";
1184 +char *msg_h_xfer = "kB F";
1185 +char *msg_h_ixfer = "kB In";
1186 +char *msg_h_oxfer = "kB Out";
1187 char *msg_h_hname = "È£½ºÆ®¸í";
1188 char *msg_h_url = "URL";
1189 char *msg_h_agent = "¿¡ÀÌÀüÆ®";
1190 @@ -245,7 +247,9 @@
1191 char *msg_mtot_ms = "¿ùº° Åë°è";
1192 char *msg_mtot_th = "ÃÑ È÷Æ®¼ö";
1193 char *msg_mtot_tf = "ÃÑ ÆÄÀϼö";
1194 -char *msg_mtot_tx = "ÃÑ KByte";
1195 +char *msg_mtot_tx = "ÃÑ kB ÆÄÀϼö";
1196 +char *msg_mtot_ix = "ÃÑ kB In";
1197 +char *msg_mtot_ox = "ÃÑ kB Out";
1198 char *msg_mtot_us = "ÃÑ °³º° »çÀÌÆ®";
1199 char *msg_mtot_ur = "ÃÑ °³º° ·¹ÆÛ·²";
1200 char *msg_mtot_ua = "ÃÑ °³º° ¿¡ÀÌÀüÆ®";
1201 @@ -257,7 +261,9 @@
1202 char *msg_mtot_mpd= "Pages per Day";
1203 char *msg_mtot_msd= "Sites per Day";
1204 char *msg_mtot_mvd= "Visits per Day";
1205 -char *msg_mtot_mkd= "KBytes per Day";
1206 +char *msg_mtot_mkd= "kB Files per Day";
1207 +char *msg_mtot_ikd= "kB In per Day";
1208 +char *msg_mtot_okd= "kB Out per Day";
1209 char *msg_mtot_rc = "ÀÀ´ä Äڵ庰 È÷Æ®¼ö";
1210
1211 /* daily total table */
1212 Index: webalizer/lang/webalizer_lang.latvian
1213 ===================================================================
1214 --- webalizer.orig/lang/webalizer_lang.latvian 2011-04-18 23:54:32.000000000 +0200
1215 +++ webalizer/lang/webalizer_lang.latvian 2011-04-18 23:56:44.000000000 +0200
1216 @@ -220,7 +220,9 @@
1217 char *msg_h_visits= "Apmeklçjumi";
1218 char *msg_h_files = "Faili";
1219 char *msg_h_sites = "Sites";
1220 -char *msg_h_xfer = "KBytes";
1221 +char *msg_h_xfer = "kB F";
1222 +char *msg_h_ixfer = "kB In";
1223 +char *msg_h_oxfer = "kB Out";
1224 char *msg_h_hname = "Hostname";
1225 char *msg_h_url = "URL";
1226 char *msg_h_agent = "Lietotâja programma";
1227 @@ -246,7 +248,9 @@
1228 char *msg_mtot_ms = "Mçneðu pârskats pâr";
1229 char *msg_mtot_th = "Kopçjie Apmeklçjumi";
1230 char *msg_mtot_tf = "Kopçjie Faili";
1231 -char *msg_mtot_tx = "Kopçjie KBaiti";
1232 +char *msg_mtot_tx = "Kopçjie kB Faili";
1233 +char *msg_mtot_ix = "Kopçjie kB In";
1234 +char *msg_mtot_ox = "Kopçjie kB Out";
1235 char *msg_mtot_us = "Kopçjâs Unikâlâs Saites";
1236 char *msg_mtot_ur = "Kopçjie Unikâlie Referreri";
1237 char *msg_mtot_ua = "Kopçjâs Unikâlâs Lietotâju Programmas";
1238 @@ -258,7 +262,9 @@
1239 char *msg_mtot_mpd= "Lapas Dienâ";
1240 char *msg_mtot_msd= "Saites Dienâ";
1241 char *msg_mtot_mvd= "Apmeklçjumi Dienâ";
1242 -char *msg_mtot_mkd= "KBaiti Dienâ";
1243 +char *msg_mtot_mkd= "kB Faili dienâ";
1244 +char *msg_mtot_ikd= "kB In dienâ";
1245 +char *msg_mtot_okd= "kB Out dienâ";
1246 char *msg_mtot_rc = "Hits by Response Code";
1247
1248 /* daily total table */
1249 Index: webalizer/lang/webalizer_lang.malay
1250 ===================================================================
1251 --- webalizer.orig/lang/webalizer_lang.malay 2011-04-18 23:54:32.000000000 +0200
1252 +++ webalizer/lang/webalizer_lang.malay 2011-04-18 23:56:44.000000000 +0200
1253 @@ -220,7 +220,9 @@
1254 char *msg_h_visits= "Lawatan";
1255 char *msg_h_files = "Fail";
1256 char *msg_h_sites = "Halaman";
1257 -char *msg_h_xfer = "KBait";
1258 +char *msg_h_xfer = "kB F";
1259 +char *msg_h_ixfer = "kB In";
1260 +char *msg_h_oxfer = "kB Out";
1261 char *msg_h_hname = "Nama Hos";
1262 char *msg_h_url = "URL";
1263 char *msg_h_agent = "Agen Pengguna";
1264 @@ -246,7 +248,9 @@
1265 char *msg_mtot_ms = "Statistik Bulanan Untuk";
1266 char *msg_mtot_th = "Jumlah Capaian";
1267 char *msg_mtot_tf = "Jumlah Fail";
1268 -char *msg_mtot_tx = "Jumlah KBait";
1269 +char *msg_mtot_tx = "Jumlah kB Fail";
1270 +char *msg_mtot_ix = "Jumlah kB In";
1271 +char *msg_mtot_ox = "Jumlah kB Out";
1272 char *msg_mtot_us = "Jumlah Halaman Unik";
1273 char *msg_mtot_ur = "Jumlah Perujuk Unik";
1274 char *msg_mtot_ua = "Jumlah Agen Pengguna Unik";
1275 @@ -258,7 +262,9 @@
1276 char *msg_mtot_mpd= "Purata Halaman Sehari";
1277 char *msg_mtot_msd= "Sites per Day";
1278 char *msg_mtot_mvd= "Purata Lawatan Sehari";
1279 -char *msg_mtot_mkd= "Purata KBait Sehari";
1280 +char *msg_mtot_mkd= "Purata kB Sehari Fail";
1281 +char *msg_mtot_ikd= "Purata kB Sehari In";
1282 +char *msg_mtot_okd= "Purata kB Sehari Out";
1283 char *msg_mtot_rc = "Purata Capaian mengikut Kod Respon";
1284
1285 /* daily total table */
1286 Index: webalizer/lang/webalizer_lang.norwegian
1287 ===================================================================
1288 --- webalizer.orig/lang/webalizer_lang.norwegian 2011-04-18 23:54:32.000000000 +0200
1289 +++ webalizer/lang/webalizer_lang.norwegian 2011-04-18 23:56:44.000000000 +0200
1290 @@ -231,7 +231,9 @@
1291 char *msg_h_visits= "Besøk";
1292 char *msg_h_files = "Filer";
1293 char *msg_h_sites = "Klientadresser";
1294 -char *msg_h_xfer = "kilobyte";
1295 +char *msg_h_xfer = "kB F";
1296 +char *msg_h_ixfer = "kB In";
1297 +char *msg_h_oxfer = "kB Out";
1298 char *msg_h_hname = "Servernavn";
1299 char *msg_h_url = "URL";
1300 char *msg_h_agent = "Klienttype";
1301 @@ -257,7 +259,9 @@
1302 char *msg_mtot_ms = "Månedlig statistikk for";
1303 char *msg_mtot_th = "Totalt antall treff";
1304 char *msg_mtot_tf = "Totalt antall filer";
1305 -char *msg_mtot_tx = "Totalt antall kilobytes";
1306 +char *msg_mtot_tx = "Totalt antall kB filer";
1307 +char *msg_mtot_ix = "Totalt antall kB in";
1308 +char *msg_mtot_ox = "Totalt antall kB out";
1309 char *msg_mtot_us = "Totalt antall unike klientadresser";
1310 char *msg_mtot_ur = "Totalt antall unike henvisninger";
1311 char *msg_mtot_ua = "Totalt antall unike klienttyper";
1312 @@ -269,7 +273,9 @@
1313 char *msg_mtot_mpd= "Sider per dag";
1314 char *msg_mtot_msd= "Klientadresser per dag";
1315 char *msg_mtot_mvd= "Besök per dag";
1316 -char *msg_mtot_mkd= "Kilobytes per dag";
1317 +char *msg_mtot_mkd= "kB Filer per dag";
1318 +char *msg_mtot_ikd= "kB In per dag";
1319 +char *msg_mtot_okd= "kB Out per dag";
1320 char *msg_mtot_rc = "Treff sortert etter responskode";
1321
1322 /* daily total table */
1323 Index: webalizer/lang/webalizer_lang.polish
1324 ===================================================================
1325 --- webalizer.orig/lang/webalizer_lang.polish 2011-04-18 23:54:32.000000000 +0200
1326 +++ webalizer/lang/webalizer_lang.polish 2011-04-18 23:56:44.000000000 +0200
1327 @@ -226,7 +226,9 @@
1328 char *msg_h_visits= "Wizyty";
1329 char *msg_h_files = "Pliki";
1330 char *msg_h_sites = "Lokalizacje";
1331 -char *msg_h_xfer = "KB";
1332 +char *msg_h_xfer = "kB P";
1333 +char *msg_h_ixfer = "kB In";
1334 +char *msg_h_oxfer = "kB Out";
1335 char *msg_h_hname = "Nazwa hosta";
1336 char *msg_h_url = "URL";
1337 char *msg_h_agent = "Przegl±darka";
1338 @@ -252,7 +254,9 @@
1339 char *msg_mtot_ms = "Statystyka w miesi±cu:";
1340 char *msg_mtot_th = "Ca³kowita liczba wywo³añ";
1341 char *msg_mtot_tf = "Ca³kowita liczba plików";
1342 -char *msg_mtot_tx = "Ca³kowita liczba KB";
1343 +char *msg_mtot_tx = "Ca³kowita liczba kB plików";
1344 +char *msg_mtot_ix = "Ca³kowita liczba kB in";
1345 +char *msg_mtot_ox = "Ca³kowita liczba kB out";
1346 char *msg_mtot_us = "Ca³kowita liczba unikalnych lokalizacji";
1347 char *msg_mtot_ur = "Ca³kowita liczba unikalnych odno¶ników";
1348 char *msg_mtot_ua = "Ca³kowita liczba unikalnych przegl±darek";
1349 @@ -264,7 +268,9 @@
1350 char *msg_mtot_mpd= "Stron dziennie";
1351 char *msg_mtot_msd= "Lokalizacji dziennie";
1352 char *msg_mtot_mvd= "Wizyt dziennie";
1353 -char *msg_mtot_mkd= "Kilobajtów dziennie";
1354 +char *msg_mtot_mkd= "kB Plików dziennie";
1355 +char *msg_mtot_ikd= "kB In dziennie";
1356 +char *msg_mtot_okd= "kB Out dziennie";
1357 char *msg_mtot_rc = "Wywo³ania wed³ug kodu odpowiedzi";
1358
1359 /* daily total table */
1360 Index: webalizer/lang/webalizer_lang.portuguese
1361 ===================================================================
1362 --- webalizer.orig/lang/webalizer_lang.portuguese 2011-04-18 23:54:32.000000000 +0200
1363 +++ webalizer/lang/webalizer_lang.portuguese 2011-04-18 23:56:44.000000000 +0200
1364 @@ -225,7 +225,9 @@
1365 char *msg_h_visits= "Visitas";
1366 char *msg_h_files = "Ficheiros";
1367 char *msg_h_sites = "Sites";
1368 -char *msg_h_xfer = "KBytes";
1369 +char *msg_h_xfer = "kB F";
1370 +char *msg_h_ixfer = "kB In";
1371 +char *msg_h_oxfer = "kB Out";
1372 char *msg_h_hname = "Hostname";
1373 char *msg_h_url = "URL";
1374 char *msg_h_agent = "User Agent";
1375 @@ -251,7 +253,9 @@
1376 char *msg_mtot_ms = "Estatística Mensal de";
1377 char *msg_mtot_th = "Total de Hits";
1378 char *msg_mtot_tf = "Total de Ficheiros";
1379 -char *msg_mtot_tx = "Total de KBytes";
1380 +char *msg_mtot_tx = "Total de kB Ficheiros";
1381 +char *msg_mtot_ix = "Total de kB In";
1382 +char *msg_mtot_ox = "Total de kB Out";
1383 char *msg_mtot_us = "Total de Sites Únicos";
1384 char *msg_mtot_ur = "Total de Referrers Únicos";
1385 char *msg_mtot_ua = "Total de User Agents Únicos";
1386 @@ -263,7 +267,9 @@
1387 char *msg_mtot_mpd= "Paginas por Dia";
1388 char *msg_mtot_msd= "Sites por Dia";
1389 char *msg_mtot_mvd= "Visitas por Dia";
1390 -char *msg_mtot_mkd= "KBytes por Dia";
1391 +char *msg_mtot_mkd= "kB Files por Dia";
1392 +char *msg_mtot_ikd= "kB In por Dia";
1393 +char *msg_mtot_okd= "kB Out por Dia";
1394 char *msg_mtot_rc = "Hits por Código de Resposta";
1395
1396 /* daily total table */
1397 Index: webalizer/lang/webalizer_lang.portuguese_brazil
1398 ===================================================================
1399 --- webalizer.orig/lang/webalizer_lang.portuguese_brazil 2011-04-18 23:54:32.000000000 +0200
1400 +++ webalizer/lang/webalizer_lang.portuguese_brazil 2011-04-18 23:56:44.000000000 +0200
1401 @@ -226,7 +226,9 @@
1402 char *msg_h_visits= "Visitas";
1403 char *msg_h_files = "Arquivos";
1404 char *msg_h_sites = "Endereços";
1405 -char *msg_h_xfer = "KBytes";
1406 +char *msg_h_xfer = "kB A";
1407 +char *msg_h_ixfer = "kB In";
1408 +char *msg_h_oxfer = "kB Out";
1409 char *msg_h_hname = "Servidores";
1410 char *msg_h_url = "URLs";
1411 char *msg_h_agent = "Programa cliente";
1412 @@ -252,7 +254,9 @@
1413 char *msg_mtot_ms = "Estatísticas Mensais para";
1414 char *msg_mtot_th = "Total de hits";
1415 char *msg_mtot_tf = "Total de arquivos";
1416 -char *msg_mtot_tx = "Total de KBytes";
1417 +char *msg_mtot_tx = "Total de kB arquivos";
1418 +char *msg_mtot_ix = "Total de kB in";
1419 +char *msg_mtot_ox = "Total de kB out";
1420 char *msg_mtot_us = "Total de servidores";
1421 char *msg_mtot_ur = "Total de refer&ecirc;ncias";
1422 char *msg_mtot_ua = "Total de programas clientes";
1423 @@ -264,7 +268,9 @@
1424 char *msg_mtot_mpd= "Páginas por Dia";
1425 char *msg_mtot_msd= "Servidores por Dia";
1426 char *msg_mtot_mvd= "Visitas por Dia";
1427 -char *msg_mtot_mkd= "KBytes por Dia";
1428 +char *msg_mtot_mkd= "kB Arquivos por Dia";
1429 +char *msg_mtot_ikd= "kB In por Dia";
1430 +char *msg_mtot_okd= "kB Out por Dia";
1431 char *msg_mtot_rc = "Hits por código de resposta";
1432
1433 /* daily total table */
1434 Index: webalizer/lang/webalizer_lang.romanian
1435 ===================================================================
1436 --- webalizer.orig/lang/webalizer_lang.romanian 2011-04-18 23:54:32.000000000 +0200
1437 +++ webalizer/lang/webalizer_lang.romanian 2011-04-18 23:56:44.000000000 +0200
1438 @@ -219,7 +219,9 @@
1439 char *msg_h_visits= "Vizite";
1440 char *msg_h_files = "Fisiere";
1441 char *msg_h_sites = "Situri";
1442 -char *msg_h_xfer = "KBytes";
1443 +char *msg_h_xfer = "kB F";
1444 +char *msg_h_ixfer = "kB In";
1445 +char *msg_h_oxfer = "kB Out";
1446 char *msg_h_hname = "Nume";
1447 char *msg_h_url = "URL";
1448 char *msg_h_agent = "Navigator";
1449 @@ -245,7 +247,9 @@
1450 char *msg_mtot_ms = "Statistici lunare pentru";
1451 char *msg_mtot_th = "Total accesari";
1452 char *msg_mtot_tf = "Total fisiere";
1453 -char *msg_mtot_tx = "Total Kbytes";
1454 +char *msg_mtot_tx = "Total kB fisiere";
1455 +char *msg_mtot_ix = "Total kB in";
1456 +char *msg_mtot_ox = "Total kB out";
1457 char *msg_mtot_us = "Total situri unice";
1458 char *msg_mtot_ur = "Total pagini referente unice";
1459 char *msg_mtot_ua = "Total navigatoare";
1460 @@ -257,7 +261,9 @@
1461 char *msg_mtot_mpd= "Pagini pe zi";
1462 char *msg_mtot_msd= "Situri pe zi";
1463 char *msg_mtot_mvd= "Vizite pe zi";
1464 -char *msg_mtot_mkd= "KBytes pe zi";
1465 +char *msg_mtot_mkd= "kB Fisiere pe zi";
1466 +char *msg_mtot_ikd= "kB In pe zi";
1467 +char *msg_mtot_okd= "kB Out pe zi";
1468 char *msg_mtot_rc = "Accesari dupa codul de raspuns";
1469
1470 /* daily total table */
1471 Index: webalizer/lang/webalizer_lang.romanian-iso-8859-2
1472 ===================================================================
1473 --- webalizer.orig/lang/webalizer_lang.romanian-iso-8859-2 2011-04-18 23:54:32.000000000 +0200
1474 +++ webalizer/lang/webalizer_lang.romanian-iso-8859-2 2011-04-18 23:56:44.000000000 +0200
1475 @@ -220,7 +220,9 @@
1476 char *msg_h_visits= "Vizite";
1477 char *msg_h_files = "Fiºiere";
1478 char *msg_h_sites = "Situri";
1479 -char *msg_h_xfer = "KBytes";
1480 +char *msg_h_xfer = "kB F";
1481 +char *msg_h_ixfer = "kB In";
1482 +char *msg_h_oxfer = "kB Out";
1483 char *msg_h_hname = "Nume";
1484 char *msg_h_url = "URL";
1485 char *msg_h_agent = "Navigator";
1486 @@ -246,7 +248,9 @@
1487 char *msg_mtot_ms = "Statistici lunare pentru";
1488 char *msg_mtot_th = "Total accesãri";
1489 char *msg_mtot_tf = "Total fiºiere";
1490 -char *msg_mtot_tx = "Total Kbytes";
1491 +char *msg_mtot_tx = "Total kB fiºiere";
1492 +char *msg_mtot_ix = "Total kB in";
1493 +char *msg_mtot_ox = "Total kB out";
1494 char *msg_mtot_us = "Total situri unice";
1495 char *msg_mtot_ur = "Total pagini referente unice";
1496 char *msg_mtot_ua = "Total navigatoare";
1497 @@ -258,7 +262,9 @@
1498 char *msg_mtot_mpd= "Pagini pe zi";
1499 char *msg_mtot_msd= "Situri pe zi";
1500 char *msg_mtot_mvd= "Vizite pe zi";
1501 -char *msg_mtot_mkd= "KBytes pe zi";
1502 +char *msg_mtot_mkd= "kB Fiºiere pe zi";
1503 +char *msg_mtot_ikd= "kB In pe zi";
1504 +char *msg_mtot_okd= "kB Out pe zi";
1505 char *msg_mtot_rc = "Accesãri dupã codul de rãspuns";
1506
1507 /* daily total table */
1508 Index: webalizer/lang/webalizer_lang.russian
1509 ===================================================================
1510 --- webalizer.orig/lang/webalizer_lang.russian 2011-04-18 23:54:32.000000000 +0200
1511 +++ webalizer/lang/webalizer_lang.russian 2011-04-18 23:56:44.000000000 +0200
1512 @@ -232,7 +232,9 @@
1513 char *msg_h_visits= "ÐÏÓÅÝÅÎÉÊ";
1514 char *msg_h_files = "ÆÁÊÌÏ×";
1515 char *msg_h_sites = "ÓÁÊÔÏ×";
1516 -char *msg_h_xfer = "ëÂÁÊÔ";
1517 +char *msg_h_xfer = "kB Æ";
1518 +char *msg_h_ixfer = "kB In";
1519 +char *msg_h_oxfer = "kB Out";
1520 char *msg_h_hname = "éÍÑ ÈÏÓÔÁ";
1521 char *msg_h_url = "URL";
1522 char *msg_h_agent = "âÒÏÕÚÅÒ";
1523 @@ -258,7 +260,9 @@
1524 char *msg_mtot_ms = "óÔÁÔÉÓÔÉËÁ ÚÁ ÍÅÓÑÃ ÎÁ";
1525 char *msg_mtot_th = "÷ÓÅÇÏ ÚÁÐÒÏÓÏ×";
1526 char *msg_mtot_tf = "÷ÓÅÇÏ ÆÁÊÌÏ×";
1527 -char *msg_mtot_tx = "÷ÓÅÇÏ ËÉÌÏÂÁÊÔ";
1528 +char *msg_mtot_tx = "÷ÓÅÇÏ kB ÆÁÊÌÏ×";
1529 +char *msg_mtot_ix = "÷ÓÅÇÏ kB In";
1530 +char *msg_mtot_ox = "÷ÓÅÇÏ kB Out";
1531 char *msg_mtot_us = "÷ÓÅÇÏ ÕÎÉËÁÌØÎÙÈ ÓÁÊÔÏ×";
1532 char *msg_mtot_ur = "÷ÓÅÇÏ ÕÎÉËÁÌØÎÙÈ ÓÓÙÌÁÀÝÉÈÓÑ ÓÔÒÁÎÉÃ";
1533 char *msg_mtot_ua = "÷ÓÅÇÏ ÕÎÉËÁÌØÎÙÈ ÂÒÏÕÚÅÒÏ×";
1534 @@ -271,6 +275,8 @@
1535 char *msg_mtot_msd= "Sites per Day";
1536 char *msg_mtot_mvd= "ðÏÓÅÝÅÎÉÊ × ÄÅÎØ";
1537 char *msg_mtot_mkd= "ïÂß£Í × ÄÅÎØ (ëÂÁÊÔ)";
1538 +char *msg_mtot_ikd= "kB In per day";
1539 +char *msg_mtot_okd= "kB Out per day";
1540 char *msg_mtot_rc = "úÁÐÒÏÓÙ ÐÏ ËÏÄÁÍ ÏÔ×ÅÔÁ";
1541
1542 /* daily total table */
1543 Index: webalizer/lang/webalizer_lang.serbian
1544 ===================================================================
1545 --- webalizer.orig/lang/webalizer_lang.serbian 2011-04-18 23:54:32.000000000 +0200
1546 +++ webalizer/lang/webalizer_lang.serbian 2011-04-18 23:56:44.000000000 +0200
1547 @@ -215,7 +215,9 @@
1548 char *msg_h_visits= "Poseta";
1549 char *msg_h_files = "Fajlova";
1550 char *msg_h_sites = "Racunara";
1551 -char *msg_h_xfer = "KB";
1552 +char *msg_h_xfer = "kB F";
1553 +char *msg_h_ixfer = "kB U";
1554 +char *msg_h_oxfer = "kB Van";
1555 char *msg_h_hname = "Racunar";
1556 char *msg_h_url = "URL";
1557 char *msg_h_agent = "Korisnicki program";
1558 @@ -241,7 +243,9 @@
1559 char *msg_mtot_ms = "Mesecna statistika za";
1560 char *msg_mtot_th = "Ukupno pristupa";
1561 char *msg_mtot_tf = "Ukupno fajlova";
1562 -char *msg_mtot_tx = "Ukupno KBajta";
1563 +char *msg_mtot_tx = "Ukupno kB fajlova";
1564 +char *msg_mtot_ix = "Ukupno kB unutra";
1565 +char *msg_mtot_ox = "Ukupno kB van";
1566 char *msg_mtot_us = "Ukupno razlicitih racunara";
1567 char *msg_mtot_ur = "Ukupno razlicitih referisanja";
1568 char *msg_mtot_ua = "Ukupno razlicitih browsera";
1569 @@ -253,7 +257,9 @@
1570 char *msg_mtot_mpd= "Fajlova na sat";
1571 char *msg_mtot_msd= "Racunara na dan";
1572 char *msg_mtot_mvd= "Poseta na dan";
1573 -char *msg_mtot_mkd= "KBajta na dan";
1574 +char *msg_mtot_mkd= "kB Fajlova na dan";
1575 +char *msg_mtot_ikd= "kB unutra na dan";
1576 +char *msg_mtot_okd= "kB van na dan";
1577 char *msg_mtot_rc = "Pristupa po kodu";
1578
1579 /* daily total table */
1580 Index: webalizer/lang/webalizer_lang.simplified_chinese
1581 ===================================================================
1582 --- webalizer.orig/lang/webalizer_lang.simplified_chinese 2011-04-18 23:54:32.000000000 +0200
1583 +++ webalizer/lang/webalizer_lang.simplified_chinese 2011-04-18 23:56:44.000000000 +0200
1584 @@ -214,7 +214,9 @@
1585 char *msg_h_visits= "·ÃÎÊ";
1586 char *msg_h_files = "Îļþ";
1587 char *msg_h_sites = "Õ¾µã";
1588 -char *msg_h_xfer = "ǧ×Ö½Ú";
1589 +char *msg_h_xfer = "kB F";
1590 +char *msg_h_ixfer = "kB In";
1591 +char *msg_h_oxfer = "kB Out";
1592 char *msg_h_hname = "Ö÷»úÃû";
1593 char *msg_h_url = "URL";
1594 char *msg_h_agent = "Óû§´úÀí";
1595 @@ -241,6 +243,8 @@
1596 char *msg_mtot_th = "×ܵã»÷Êý";
1597 char *msg_mtot_tf = "×ÜÎļþÊý";
1598 char *msg_mtot_tx = "×Üǧ×Ö½ÚÊý";
1599 +char *msg_mtot_ix = "Total kB In";
1600 +char *msg_mtot_ox = "Total kB Out";
1601 char *msg_mtot_us = "×ÜÕ¾µãÊý£¨²»°üÀ¨Öظ´Õ¾µã£©";
1602 char *msg_mtot_ur = "×ÜÒýÓÃÕßÊý£¨²»°üÀ¨Öظ´ÒýÓÃÕߣ©";
1603 char *msg_mtot_ua = "×ÜÓû§´úÀíÊý£¨²»°üÀ¨Öظ´Óû§´úÀí£©";
1604 @@ -253,6 +257,8 @@
1605 char *msg_mtot_msd= "Sites per Day";
1606 char *msg_mtot_mvd= "ÿÌì·ÃÎÊÊý";
1607 char *msg_mtot_mkd= "ÿÌìÁ÷Á¿Êý£¨µ¥Î»£ºÇ§×Ö½Ú£©";
1608 +char *msg_mtot_ikd= "kB In per day";
1609 +char *msg_mtot_okd= "kB Out per day";
1610 char *msg_mtot_rc = "°´ÏìÓ¦ÂëµÄµã»÷Êý";
1611
1612 /* daily total table */
1613 Index: webalizer/lang/webalizer_lang.slovak
1614 ===================================================================
1615 --- webalizer.orig/lang/webalizer_lang.slovak 2011-04-18 23:54:32.000000000 +0200
1616 +++ webalizer/lang/webalizer_lang.slovak 2011-04-18 23:56:44.000000000 +0200
1617 @@ -224,7 +224,9 @@
1618 char *msg_h_visits= "náv¹tev";
1619 char *msg_h_files = "súborov";
1620 char *msg_h_sites = "miest";
1621 -char *msg_h_xfer = "kBytov";
1622 +char *msg_h_xfer = "kB S";
1623 +char *msg_h_ixfer = "kB In";
1624 +char *msg_h_oxfer = "kB Out";
1625 char *msg_h_hname = "poèítaè";
1626 char *msg_h_url = "URL";
1627 char *msg_h_agent = "prehliadaè";
1628 @@ -250,7 +252,9 @@
1629 char *msg_mtot_ms = "Mesaèné ¹tatistiky za";
1630 char *msg_mtot_th = "Celkom zásahov";
1631 char *msg_mtot_tf = "Celkom súborov";
1632 -char *msg_mtot_tx = "Celkom kBytov";
1633 +char *msg_mtot_tx = "Celkom kB súborov";
1634 +char *msg_mtot_ix = "Celkom kB in";
1635 +char *msg_mtot_ox = "Celkom kB out";
1636 char *msg_mtot_us = "Celkom jedineèných miest";
1637 char *msg_mtot_ur = "Celkom jedineèných odkazovaèov";
1638 char *msg_mtot_ua = "Celkom jedineèných Browsrov";
1639 @@ -262,7 +266,9 @@
1640 char *msg_mtot_mpd= "Stránok za deò";
1641 char *msg_mtot_msd= "Miest za deò";
1642 char *msg_mtot_mvd= "Náv¹tev za deò";
1643 -char *msg_mtot_mkd= "kBytov za deò";
1644 +char *msg_mtot_mkd= "kB Súborov za deò";
1645 +char *msg_mtot_ikd= "kB In za deò";
1646 +char *msg_mtot_okd= "kB Out za deò";
1647 char *msg_mtot_rc = "Zásahy podµa kódu odpovede";
1648
1649 /* daily total table */
1650 Index: webalizer/lang/webalizer_lang.slovene
1651 ===================================================================
1652 --- webalizer.orig/lang/webalizer_lang.slovene 2011-04-18 23:54:32.000000000 +0200
1653 +++ webalizer/lang/webalizer_lang.slovene 2011-04-18 23:56:44.000000000 +0200
1654 @@ -215,7 +215,9 @@
1655 char *msg_h_visits= "Obiskov";
1656 char *msg_h_files = "Datotek";
1657 char *msg_h_sites = "Po podroèjih";
1658 -char *msg_h_xfer = "KB";
1659 +char *msg_h_xfer = "kB D";
1660 +char *msg_h_ixfer = "kB In";
1661 +char *msg_h_oxfer = "kB Out";
1662 char *msg_h_hname = "Gostitelj";
1663 char *msg_h_url = "URL";
1664 char *msg_h_agent = "Brskalnik";
1665 @@ -241,7 +243,9 @@
1666 char *msg_mtot_ms = "Meseèno poroèilo za";
1667 char *msg_mtot_th = "Skupaj zahtevkov";
1668 char *msg_mtot_tf = "Skupaj datotek";
1669 -char *msg_mtot_tx = "Skupaj KB";
1670 +char *msg_mtot_tx = "Skupaj kB datotek";
1671 +char *msg_mtot_ix = "Skupaj kB in";
1672 +char *msg_mtot_ox = "Skupaj kB out";
1673 char *msg_mtot_us = "Skupaj enkr. podroèij";
1674 char *msg_mtot_ur = "Skupaj enkr. napotiteljev";
1675 char *msg_mtot_ua = "Skupaj enkr. brskalnikov";
1676 @@ -253,7 +257,9 @@
1677 char *msg_mtot_mpd= "Strani dnevno";
1678 char *msg_mtot_msd= "Podroèij dnevno";
1679 char *msg_mtot_mvd= "Obiskov dnevno";
1680 -char *msg_mtot_mkd= "KB dnevno";
1681 +char *msg_mtot_mkd= "kB Datotek dnevno";
1682 +char *msg_mtot_ikd= "kB In dnevno";
1683 +char *msg_mtot_okd= "kB Out dnevno";
1684 char *msg_mtot_rc = "Zahtevki po odzivnih kodah";
1685
1686 /* daily Skupaj table */
1687 Index: webalizer/lang/webalizer_lang.spanish
1688 ===================================================================
1689 --- webalizer.orig/lang/webalizer_lang.spanish 2011-04-18 23:54:32.000000000 +0200
1690 +++ webalizer/lang/webalizer_lang.spanish 2011-04-18 23:56:44.000000000 +0200
1691 @@ -232,7 +232,9 @@
1692 char *msg_h_visits= "Visitas";
1693 char *msg_h_files = "Archivos";
1694 char *msg_h_sites = "Clientes";
1695 -char *msg_h_xfer = "KBytes";
1696 +char *msg_h_xfer = "kB A";
1697 +char *msg_h_ixfer = "kB In";
1698 +char *msg_h_oxfer = "kB Out";
1699 char *msg_h_hname = "Máquina";
1700 char *msg_h_url = "URL";
1701 char *msg_h_agent = "Navegador";
1702 @@ -258,7 +260,9 @@
1703 char *msg_mtot_ms = "Estadísticas mensuales de";
1704 char *msg_mtot_th = "Total Accesos";
1705 char *msg_mtot_tf = "Total Archivos";
1706 -char *msg_mtot_tx = "Total KBytes";
1707 +char *msg_mtot_tx = "Total kB Archivos";
1708 +char *msg_mtot_ix = "Total kB In";
1709 +char *msg_mtot_ox = "Total kB Out";
1710 char *msg_mtot_us = "Total Clientes";
1711 char *msg_mtot_ur = "Total Enlaces origen";
1712 char *msg_mtot_ua = "Total Navegadores";
1713 @@ -270,7 +274,9 @@
1714 char *msg_mtot_mpd= "Páginas por Día";
1715 char *msg_mtot_msd= "Clientes por Día";
1716 char *msg_mtot_mvd= "Visitas por Día";
1717 -char *msg_mtot_mkd= "KBytes por Día";
1718 +char *msg_mtot_mkd= "kB Archivos por Día";
1719 +char *msg_mtot_ikd= "kB In por Día";
1720 +char *msg_mtot_okd= "kB Out por Día";
1721 char *msg_mtot_rc = "Accesos por código de respuesta";
1722
1723 /* daily total table */
1724 Index: webalizer/lang/webalizer_lang.swedish
1725 ===================================================================
1726 --- webalizer.orig/lang/webalizer_lang.swedish 2011-04-18 23:54:32.000000000 +0200
1727 +++ webalizer/lang/webalizer_lang.swedish 2011-04-18 23:56:44.000000000 +0200
1728 @@ -243,7 +243,9 @@
1729 char *msg_h_visits= "Besök."; // GD
1730 char *msg_h_files = "Filer";
1731 char *msg_h_sites = "Klient.";
1732 -char *msg_h_xfer = "kilobyte";
1733 +char *msg_h_xfer = "kB F";
1734 +char *msg_h_ixfer = "kB In";
1735 +char *msg_h_oxfer = "kB Ut";
1736 // char *msg_h_hname = "V&auml;rdnamn"; // HTML
1737 char *msg_h_hname = "Värdnamn"; // GD
1738 char *msg_h_url = "URL";
1739 @@ -272,7 +274,9 @@
1740 char *msg_mtot_ms = "M&aring;natlig statistik f&ouml;r";
1741 char *msg_mtot_th = "Totalt antal tr&auml;ffar";
1742 char *msg_mtot_tf = "Totalt antal filer";
1743 -char *msg_mtot_tx = "Totalt antal kilobytes";
1744 +char *msg_mtot_tx = "Totalt antal kB filer";
1745 +char *msg_mtot_ix = "Totalt antal kB in";
1746 +char *msg_mtot_ox = "Totalt antal kB ut";
1747 char *msg_mtot_us = "Totalt antal unika klientadresser";
1748 char *msg_mtot_ur = "Totalt antal unika h&auml;nvisningar";
1749 char *msg_mtot_ua = "Totalt antal unika klienttyper";
1750 @@ -284,7 +288,9 @@
1751 char *msg_mtot_mpd= "Sidor per dag";
1752 char *msg_mtot_msd= "Klientadresser per dag";
1753 char *msg_mtot_mvd= "Bes&ouml;k per dag";
1754 -char *msg_mtot_mkd= "Kilobytes per dag";
1755 +char *msg_mtot_mkd= "kB Filer per dag";
1756 +char *msg_mtot_ikd= "kB In per dag";
1757 +char *msg_mtot_okd= "kB Ut per dag";
1758 char *msg_mtot_rc = "Tr&auml;ffar sorterade efter svarskod";
1759
1760 /* daily total table */
1761 Index: webalizer/lang/webalizer_lang.turkish
1762 ===================================================================
1763 --- webalizer.orig/lang/webalizer_lang.turkish 2011-04-18 23:54:32.000000000 +0200
1764 +++ webalizer/lang/webalizer_lang.turkish 2011-04-18 23:56:44.000000000 +0200
1765 @@ -220,7 +220,9 @@
1766 char *msg_h_visits= "Ziyaret";
1767 char *msg_h_files = "Dosya";
1768 char *msg_h_sites = "Istemci";
1769 -char *msg_h_xfer = "KBayt'a Gore";
1770 +char *msg_h_xfer = "kB D";
1771 +char *msg_h_ixfer = "kB In";
1772 +char *msg_h_oxfer = "kB Out";
1773 char *msg_h_hname = "Makine Adi";
1774 char *msg_h_url = "URL";
1775 char *msg_h_agent = "Kullanici Ajani";
1776 @@ -246,7 +248,9 @@
1777 char *msg_mtot_ms = "Aylik Istatistikler:";
1778 char *msg_mtot_th = "Toplam HIT'ler";
1779 char *msg_mtot_tf = "Toplam Dosyalar";
1780 -char *msg_mtot_tx = "Toplam KBaytlar";
1781 +char *msg_mtot_tx = "Toplam kB Dosyalar";
1782 +char *msg_mtot_ix = "Toplam kB In";
1783 +char *msg_mtot_ox = "Toplam kB Out";
1784 char *msg_mtot_us = "Toplam Ayni Istemciler";
1785 char *msg_mtot_ur = "Toplam Ayni Referanslar";
1786 char *msg_mtot_ua = "Toplam Ayni Kullanici Ajanlari";
1787 @@ -258,7 +262,9 @@
1788 char *msg_mtot_mpd= "Gunluk Sayfalar";
1789 char *msg_mtot_msd= "Gunluk Istemciler";
1790 char *msg_mtot_mvd= "Gunluk Ziyaretler";
1791 -char *msg_mtot_mkd= "Gunluk KBaytlar";
1792 +char *msg_mtot_mkd= "Gunluk kB Dosyalar";
1793 +char *msg_mtot_ikd= "Gunluk kB In";
1794 +char *msg_mtot_okd= "Gunluk kB Out";
1795 char *msg_mtot_rc = "Cevap Koduna Gore HIT";
1796
1797 /* daily total table */
1798 Index: webalizer/lang/webalizer_lang.ukrainian
1799 ===================================================================
1800 --- webalizer.orig/lang/webalizer_lang.ukrainian 2011-04-18 23:54:39.000000000 +0200
1801 +++ webalizer/lang/webalizer_lang.ukrainian 2011-04-18 23:56:44.000000000 +0200
1802 @@ -224,7 +224,9 @@
1803 char *msg_h_visits= "צÄצÄ.";
1804 char *msg_h_files = "ÆÁÊ̦×";
1805 char *msg_h_sites = "ÓÁÊÔ¦×";
1806 -char *msg_h_xfer = "ëâÁÊÔ";
1807 +char *msg_h_xfer = "kB Æ";
1808 +char *msg_h_ixfer = "kB In";
1809 +char *msg_h_oxfer = "kB Out";
1810 char *msg_h_hname = "¦Í'Ñ ÈÏÓÔÁ";
1811 char *msg_h_url = "URL";
1812 char *msg_h_agent = "ÁÇÅÎÔ ËÏÒÉÓÔÕ×ÁÞÁ";
1813 @@ -251,6 +253,8 @@
1814 char *msg_mtot_th = "÷ÓØÏÇÏ ÚÁÐÉÔ¦×";
1815 char *msg_mtot_tf = "÷ÓØÏÇÏ ÆÁÊ̦×";
1816 char *msg_mtot_tx = "÷ÓØÏÇÏ ëâÁÊÔ";
1817 +char *msg_mtot_ix = "÷ÓØÏÇÏ ëâÁÊÔ In";
1818 +char *msg_mtot_ox = "÷ÓØÏÇÏ ëâÁÊÔ Out";
1819 char *msg_mtot_us = "÷ÓØÏÇÏ ÕΦËÁÌØÎÉÈ ÓÁÊÔ¦×";
1820 char *msg_mtot_ur = "÷ÓØÏÇÏ ÕΦËÁÌØÎÉÈ ÐÏÓÉÌÁÎØ";
1821 char *msg_mtot_ua = "÷ÓØÏÇÏ ÕΦËÁÌØÎÉÈ ÁÇÅÎÔ¦× ËÏÒÉÓÔÕ×ÁÞÁ";
1822 @@ -262,7 +266,9 @@
1823 char *msg_mtot_mpd= "óÔÏÒ¦ÎÏË ÚÁ ÄÅÎØ";
1824 char *msg_mtot_msd= "Sites per Day";
1825 char *msg_mtot_mvd= "÷¦ÄצÄÕ×ÁÎØ ÚÁ ÄÅÎØ";
1826 -char *msg_mtot_mkd= "KâÁÊÔ ÚÁ ÄÅÎØ";
1827 +char *msg_mtot_mkd= "KâÁÊÔ æÁÊÌ¦× ÚÁ ÄÅÎØ";
1828 +char *msg_mtot_ikd= "KâÁÊÔ In ÚÁ ÄÅÎØ";
1829 +char *msg_mtot_okd= "KâÁÊÔ Out ÚÁ ÄÅÎØ";
1830 char *msg_mtot_rc = "ú×ÅÒÔÁÎØ ÚÁ ËÏÄÏÍ ×¦ÄÐÏצĦ";
1831
1832 /* daily total table */
1833 Index: webalizer/output.c
1834 ===================================================================
1835 --- webalizer.orig/output.c 2011-04-18 23:56:42.000000000 +0200
1836 +++ webalizer/output.c 2011-04-18 23:56:44.000000000 +0200
1837 @@ -308,8 +308,10 @@
1838 tm_file, /* data 2 (files) */
1839 tm_site, /* data 3 (sites) */
1840 tm_xfer, /* data 4 (kbytes) */
1841 - tm_page, /* data 5 (pages) */
1842 - tm_visit); /* data 6 (visits) */
1843 + tm_ixfer, /* data 5 (kbytes) */
1844 + tm_oxfer, /* data 6 (kbytes) */
1845 + tm_page, /* data 7 (pages) */
1846 + tm_visit); /* data 8 (visits) */
1847 }
1848
1849 if (hourly_graph)
1850 @@ -507,7 +509,7 @@
1851 {
1852 int i,days_in_month;
1853 u_int64_t max_files=0,max_hits=0,max_visits=0,max_pages=0,max_sites=0;
1854 - double max_xfer=0.0;
1855 + double max_xfer=0.0,max_ixfer=0.0,max_oxfer=0.0;
1856
1857 days_in_month=(l_day-f_day)+1;
1858 for (i=0;i<31;i++)
1859 @@ -518,6 +520,8 @@
1860 if (tm_visit[i]>max_visits) max_visits= tm_visit[i];
1861 if (tm_site[i]>max_sites) max_sites = tm_site[i];
1862 if (tm_xfer[i]>max_xfer) max_xfer = tm_xfer[i];
1863 + if (tm_ixfer[i]>max_ixfer) max_ixfer = tm_ixfer[i];
1864 + if (tm_oxfer[i]>max_oxfer) max_oxfer = tm_oxfer[i];
1865 }
1866
1867 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
1868 @@ -545,6 +549,12 @@
1869 fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n" \
1870 "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>" \
1871 "</FONT></TD></TR>\n",msg_mtot_tx,t_xfer/1024);
1872 + fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n" \
1873 + "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>" \
1874 + "</FONT></TD></TR>\n",msg_mtot_ix,t_ixfer/1024);
1875 + fprintf(out_fp,"<TR><TD WIDTH=380><FONT SIZE=\"-1\">%s</FONT></TD>\n" \
1876 + "<TD ALIGN=right COLSPAN=2><FONT SIZE=\"-1\"><B>%.0f</B>" \
1877 + "</FONT></TD></TR>\n",msg_mtot_ox,t_oxfer/1024);
1878 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1879 /**********************************************/
1880 /* Unique Sites */
1881 @@ -629,6 +639,18 @@
1882 "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>" \
1883 "</FONT></TD></TR>\n",msg_mtot_mkd,
1884 (t_xfer/1024)/days_in_month,max_xfer/1024);
1885 + fprintf(out_fp,"<TR>" \
1886 + "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n" \
1887 + "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
1888 + "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>" \
1889 + "</FONT></TD></TR>\n",msg_mtot_ikd,
1890 + (t_ixfer/1024)/days_in_month,max_ixfer/1024);
1891 + fprintf(out_fp,"<TR>" \
1892 + "<TD><FONT SIZE=\"-1\">%s</FONT></TD>\n" \
1893 + "<TD ALIGN=right WIDTH=65><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
1894 + "<TD WIDTH=65 ALIGN=right><FONT SIZE=-1><B>%.0f</B>" \
1895 + "</FONT></TD></TR>\n",msg_mtot_okd,
1896 + (t_oxfer/1024)/days_in_month,max_oxfer/1024);
1897 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1898 /**********************************************/
1899 /* response code totals */
1900 @@ -662,7 +684,7 @@
1901 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
1902 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1903 /* Daily statistics for ... */
1904 - fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=13 ALIGN=center>" \
1905 + fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=17 ALIGN=center>" \
1906 "%s %s %d</TH></TR>\n",
1907 GREY,msg_dtot_ds,l_month[cur_month-1], cur_year);
1908 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1909 @@ -679,6 +701,10 @@
1910 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1911 "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1912 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1913 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1914 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1915 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1916 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1917 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1918 GREY, msg_h_day,
1919 HITCOLOR, msg_h_hits,
1920 @@ -686,7 +712,9 @@
1921 PAGECOLOR, msg_h_pages,
1922 VISITCOLOR, msg_h_visits,
1923 SITECOLOR, msg_h_sites,
1924 - KBYTECOLOR, msg_h_xfer);
1925 + KBYTECOLOR, msg_h_xfer,
1926 + LTBLUE, msg_h_ixfer,
1927 + GREEN, msg_h_oxfer);
1928 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1929
1930 /* skip beginning blank days in a month */
1931 @@ -722,8 +750,16 @@
1932 tm_site[i],PCENT(tm_site[i],t_site));
1933 fprintf(out_fp,"<TD ALIGN=right>" \
1934 "<FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
1935 - "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD></TR>\n",
1936 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n",
1937 tm_xfer[i]/1024,PCENT(tm_xfer[i],t_xfer));
1938 + fprintf(out_fp,"<TD ALIGN=right>" \
1939 + "<FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
1940 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n",
1941 + tm_ixfer[i]/1024,PCENT(tm_ixfer[i],t_ixfer));
1942 + fprintf(out_fp,"<TD ALIGN=right>" \
1943 + "<FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
1944 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD></TR>\n",
1945 + tm_oxfer[i]/1024,PCENT(tm_oxfer[i],t_oxfer));
1946 }
1947 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1948 fprintf(out_fp,"</TABLE>\n");
1949 @@ -738,14 +774,14 @@
1950 {
1951 int i,days_in_month;
1952 u_int64_t avg_file=0;
1953 - double avg_xfer=0.0;
1954 + double avg_xfer=0.0,avg_ixfer=0.0,avg_oxfer=0.0;
1955
1956 days_in_month=(l_day-f_day)+1;
1957
1958 /* Hourly stats */
1959 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
1960 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1961 - fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=13 ALIGN=center>"\
1962 + fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" COLSPAN=19 ALIGN=center>"\
1963 "%s %s %d</TH></TR>\n",
1964 GREY,msg_htot_hs,l_month[cur_month-1], cur_year);
1965 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
1966 @@ -758,12 +794,18 @@
1967 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>" \
1968 "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1969 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>" \
1970 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1971 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>" \
1972 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n" \
1973 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=3>" \
1974 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
1975 GREY, msg_h_hour,
1976 HITCOLOR, msg_h_hits,
1977 FILECOLOR, msg_h_files,
1978 PAGECOLOR, msg_h_pages,
1979 - KBYTECOLOR, msg_h_xfer);
1980 + KBYTECOLOR, msg_h_xfer,
1981 + LTBLUE, msg_h_ixfer,
1982 + GREEN, msg_h_oxfer);
1983 fprintf(out_fp,"<TR><TH ALIGN=center BGCOLOR=\"%s\">" \
1984 "<FONT SIZE=\"-2\">%s</FONT></TH>\n" \
1985 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1986 @@ -782,8 +824,18 @@
1987 fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
1988 "<FONT SIZE=\"-2\">%s</FONT></TH>\n" \
1989 "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1990 - "<FONT SIZE=\"-2\">%s</FONT></TH></TR>\n",
1991 + "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
1992 KBYTECOLOR, msg_h_avg, KBYTECOLOR, msg_h_total);
1993 + fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
1994 + "<FONT SIZE=\"-2\">%s</FONT></TH>\n" \
1995 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
1996 + "<FONT SIZE=\"-2\">%s</FONT></TH>\n",
1997 + LTBLUE, msg_h_avg, LTBLUE, msg_h_total);
1998 + fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
1999 + "<FONT SIZE=\"-2\">%s</FONT></TH>\n" \
2000 + "<TH ALIGN=center BGCOLOR=\"%s\" COLSPAN=2>" \
2001 + "<FONT SIZE=\"-2\">%s</FONT></TH></TR>\n",
2002 + GREEN, msg_h_avg, GREEN, msg_h_total);
2003
2004 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2005 for (i=0;i<24;i++)
2006 @@ -811,11 +863,25 @@
2007 fprintf(out_fp,
2008 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2009 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2010 - "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD></TR>\n",
2011 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n",
2012 (th_xfer[i]/days_in_month)/1024,th_xfer[i]/1024,
2013 PCENT(th_xfer[i],t_xfer));
2014 + fprintf(out_fp,
2015 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2016 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2017 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n",
2018 + (th_ixfer[i]/days_in_month)/1024,th_ixfer[i]/1024,
2019 + PCENT(th_ixfer[i],t_ixfer));
2020 + fprintf(out_fp,
2021 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2022 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2023 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD></TR>\n",
2024 + (th_oxfer[i]/days_in_month)/1024,th_oxfer[i]/1024,
2025 + PCENT(th_oxfer[i],t_oxfer));
2026 avg_file += th_file[i]/days_in_month;
2027 - avg_xfer+= (th_xfer[i]/days_in_month)/1024;
2028 + avg_xfer += (th_xfer[i]/days_in_month)/1024;
2029 + avg_ixfer+= (th_ixfer[i]/days_in_month)/1024;
2030 + avg_oxfer+= (th_oxfer[i]/days_in_month)/1024;
2031 }
2032 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2033 fprintf(out_fp,"</TABLE>\n<P>\n");
2034 @@ -853,11 +919,11 @@
2035
2036 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
2037 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2038 - if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=10>" \
2039 + if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=14>" \
2040 "%s %llu %s %llu %s %s %s</TH></TR>\n",
2041 GREY, msg_top_top,tot_num,msg_top_of,
2042 t_site,msg_top_s,msg_h_by,msg_h_xfer);
2043 - else fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=10>" \
2044 + else fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=14>" \
2045 "%s %llu %s %llu %s</TH></TR>\n",
2046 GREY,msg_top_top, tot_num, msg_top_of, t_site, msg_top_s);
2047 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2048 @@ -870,6 +936,10 @@
2049 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2050 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
2051 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2052 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",LTBLUE,msg_h_ixfer);
2053 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2054 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREEN,msg_h_oxfer);
2055 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2056 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
2057 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>" \
2058 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_hname);
2059 @@ -894,13 +964,19 @@
2060 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2061 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2062 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2063 - "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
2064 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2065 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2066 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2067 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2068 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
2069 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2070 "<TD ALIGN=left NOWRAP><FONT SIZE=\"-1\">",
2071 i+1,hptr->count,
2072 (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files,
2073 (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024,
2074 - (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit,
2075 + (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->ixfer/1024,
2076 + (t_ixfer==0)?0:((float)hptr->ixfer/t_ixfer)*100.0,hptr->oxfer/1024,
2077 + (t_oxfer==0)?0:((float)hptr->oxfer/t_oxfer)*100.0,hptr->visit,
2078 (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0);
2079
2080 if ((hptr->flag==OBJ_GRP)&&hlite_groups)
2081 @@ -921,7 +997,7 @@
2082 if (all_sites_page(h_reg, h_grp))
2083 {
2084 fprintf(out_fp,"<TR BGCOLOR=\"%s\">",GRPCOLOR);
2085 - fprintf(out_fp,"<TD COLSPAN=10 ALIGN=\"center\">\n");
2086 + fprintf(out_fp,"<TD COLSPAN=14 ALIGN=\"center\">\n");
2087 fprintf(out_fp,"<FONT SIZE=\"-1\">");
2088 fprintf(out_fp,"<A HREF=\"./site_%04d%02d.%s\">",
2089 cur_year,cur_month,html_ext);
2090 @@ -958,9 +1034,12 @@
2091
2092 fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
2093
2094 - fprintf(out_fp," %12s %12s %12s %12s %s\n",
2095 - msg_h_hits, msg_h_files, msg_h_xfer, msg_h_visits, msg_h_hname);
2096 + fprintf(out_fp," %12s %12s %12s %12s %12s" \
2097 + " %12s %s\n",
2098 + msg_h_hits, msg_h_files, msg_h_xfer, msg_h_ixfer, msg_h_oxfer,
2099 + msg_h_visits, msg_h_hname);
2100 fprintf(out_fp,"---------------- ---------------- ---------------- " \
2101 + "---------------- ---------------- " \
2102 "---------------- --------------------\n\n");
2103
2104 /* Do groups first (if any) */
2105 @@ -972,11 +1051,13 @@
2106 {
2107 fprintf(out_fp,
2108 "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% " \
2109 - "%8llu %6.02f%% %s\n",
2110 + "%8.0f %6.02f%% %8.0f %6.02f%% %8llu %6.02f%% %s\n",
2111 hptr->count,
2112 (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files,
2113 (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024,
2114 - (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit,
2115 + (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->ixfer/1024,
2116 + (t_ixfer==0)?0:((float)hptr->ixfer/t_ixfer)*100.0,hptr->oxfer/1024,
2117 + (t_oxfer==0)?0:((float)hptr->oxfer/t_oxfer)*100.0,hptr->visit,
2118 (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0,
2119 hptr->string);
2120 h_grp--;
2121 @@ -994,11 +1075,13 @@
2122 {
2123 fprintf(out_fp,
2124 "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% " \
2125 - "%8llu %6.02f%% %s\n",
2126 + "%8.0f %6.02f%% %8.0f %6.02f%% %8llu %6.02f%% %s\n",
2127 hptr->count,
2128 (t_hit==0)?0:((float)hptr->count/t_hit)*100.0,hptr->files,
2129 (t_file==0)?0:((float)hptr->files/t_file)*100.0,hptr->xfer/1024,
2130 - (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->visit,
2131 + (t_xfer==0)?0:((float)hptr->xfer/t_xfer)*100.0,hptr->ixfer/1024,
2132 + (t_ixfer==0)?0:((float)hptr->ixfer/t_ixfer)*100.0,hptr->oxfer/1024,
2133 + (t_oxfer==0)?0:((float)hptr->oxfer/t_oxfer)*100.0,hptr->visit,
2134 (t_visit==0)?0:((float)hptr->visit/t_visit)*100.0,
2135 hptr->string);
2136 h_reg--;
2137 @@ -1042,11 +1125,11 @@
2138
2139 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
2140 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2141 - if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=6>" \
2142 + if (flag) fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=10>" \
2143 "%s %llu %s %llu %s %s %s</TH></TR>\n",
2144 GREY,msg_top_top,tot_num,msg_top_of,
2145 t_url,msg_top_u,msg_h_by,msg_h_xfer);
2146 - else fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=6>" \
2147 + else fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=10>" \
2148 "%s %llu %s %llu %s</TH></TR>\n",
2149 GREY,msg_top_top,tot_num,msg_top_of,t_url,msg_top_u);
2150 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2151 @@ -1058,6 +1141,12 @@
2152 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2153 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
2154 KBYTECOLOR,msg_h_xfer);
2155 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2156 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
2157 + LTBLUE,msg_h_ixfer);
2158 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2159 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",
2160 + GREEN,msg_h_oxfer);
2161 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>" \
2162 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",
2163 MISCCOLOR,msg_h_url);
2164 @@ -1080,11 +1169,19 @@
2165 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2166 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n"\
2167 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2168 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n"\
2169 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2170 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n"\
2171 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2172 "<TD ALIGN=left NOWRAP><FONT SIZE=\"-1\">",
2173 i+1,uptr->count,
2174 (t_hit==0)?0:((float)uptr->count/t_hit)*100.0,
2175 uptr->xfer/1024,
2176 - (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0);
2177 + (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0,
2178 + uptr->ixfer/1024,
2179 + (t_ixfer==0)?0:((float)uptr->ixfer/t_ixfer)*100.0,
2180 + uptr->oxfer/1024,
2181 + (t_oxfer==0)?0:((float)uptr->oxfer/t_oxfer)*100.0);
2182
2183 if (uptr->flag==OBJ_GRP)
2184 {
2185 @@ -1130,7 +1227,7 @@
2186 if (all_urls_page(u_reg, u_grp))
2187 {
2188 fprintf(out_fp,"<TR BGCOLOR=\"%s\">",GRPCOLOR);
2189 - fprintf(out_fp,"<TD COLSPAN=6 ALIGN=\"center\">\n");
2190 + fprintf(out_fp,"<TD COLSPAN=10 ALIGN=\"center\">\n");
2191 fprintf(out_fp,"<FONT SIZE=\"-1\">");
2192 fprintf(out_fp,"<A HREF=\"./url_%04d%02d.%s\">",
2193 cur_year,cur_month,html_ext);
2194 @@ -1167,10 +1264,10 @@
2195
2196 fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
2197
2198 - fprintf(out_fp," %12s %12s %s\n",
2199 - msg_h_hits,msg_h_xfer,msg_h_url);
2200 - fprintf(out_fp,"---------------- ---------------- " \
2201 - "--------------------\n\n");
2202 + fprintf(out_fp," %12s %12s %12s %12s %s\n",
2203 + msg_h_hits,msg_h_xfer,msg_h_ixfer,msg_h_oxfer,msg_h_url);
2204 + fprintf(out_fp,"---------------- ---------------- ---------------- " \
2205 + "---------------- --------------------\n\n");
2206
2207 /* do groups first (if any) */
2208 pointer=u_array;
2209 @@ -1179,11 +1276,16 @@
2210 uptr=*pointer++;
2211 if (uptr->flag == OBJ_GRP)
2212 {
2213 - fprintf(out_fp,"%-8llu %6.02f%% %8.0f %6.02f%% %s\n",
2214 + fprintf(out_fp,"%-8llu %6.02f%% %8.0f %6.02f%% %8.0f %6.02f%% " \
2215 + "%8.0f %6.02f%% %s\n",
2216 uptr->count,
2217 (t_hit==0)?0:((float)uptr->count/t_hit)*100.0,
2218 uptr->xfer/1024,
2219 (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0,
2220 + uptr->ixfer/1024,
2221 + (t_ixfer==0)?0:((float)uptr->ixfer/t_ixfer)*100.0,
2222 + uptr->oxfer/1024,
2223 + (t_oxfer==0)?0:((float)uptr->oxfer/t_oxfer)*100.0,
2224 uptr->string);
2225 u_grp--;
2226 }
2227 @@ -1198,11 +1300,16 @@
2228 uptr=*pointer++;
2229 if (uptr->flag == OBJ_REG)
2230 {
2231 - fprintf(out_fp,"%-8llu %6.02f%% %8.0f %6.02f%% %s\n",
2232 + fprintf(out_fp,"%-8llu %6.02f%% %8.0f %6.02f%% %8.0f %6.02f%% " \
2233 + "%8.0f %6.02f%% %s\n",
2234 uptr->count,
2235 (t_hit==0)?0:((float)uptr->count/t_hit)*100.0,
2236 uptr->xfer/1024,
2237 (t_xfer==0)?0:((float)uptr->xfer/t_xfer)*100.0,
2238 + uptr->ixfer/1024,
2239 + (t_ixfer==0)?0:((float)uptr->ixfer/t_ixfer)*100.0,
2240 + uptr->oxfer/1024,
2241 + (t_oxfer==0)?0:((float)uptr->oxfer/t_oxfer)*100.0,
2242 uptr->string);
2243 u_reg--;
2244 }
2245 @@ -1780,7 +1887,7 @@
2246
2247 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
2248 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2249 - fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=10>" \
2250 + fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=14>" \
2251 "%s %llu %s %llu %s</TH></TR>\n",
2252 GREY,msg_top_top, tot_num, msg_top_of, t_user, msg_top_i);
2253 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2254 @@ -1793,6 +1900,10 @@
2255 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2256 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
2257 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2258 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",LTBLUE,msg_h_ixfer);
2259 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2260 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREEN,msg_h_oxfer);
2261 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2262 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
2263 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>" \
2264 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_uname);
2265 @@ -1817,13 +1928,19 @@
2266 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2267 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2268 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2269 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2270 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2271 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2272 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2273 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%llu</B></FONT></TD>\n" \
2274 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2275 "<TD ALIGN=left NOWRAP><FONT SIZE=\"-1\">",
2276 i+1,iptr->count,
2277 (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files,
2278 (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024,
2279 - (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit,
2280 + (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->ixfer/1024,
2281 + (t_ixfer==0)?0:((float)iptr->ixfer/t_ixfer)*100.0,iptr->oxfer/1024,
2282 + (t_oxfer==0)?0:((float)iptr->oxfer/t_oxfer)*100.0,iptr->visit,
2283 (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0);
2284
2285 if ((iptr->flag==OBJ_GRP)&&hlite_groups)
2286 @@ -1842,7 +1959,7 @@
2287 if (all_users_page(i_reg, i_grp))
2288 {
2289 fprintf(out_fp,"<TR BGCOLOR=\"%s\">",GRPCOLOR);
2290 - fprintf(out_fp,"<TD COLSPAN=10 ALIGN=\"center\">\n");
2291 + fprintf(out_fp,"<TD COLSPAN=14 ALIGN=\"center\">\n");
2292 fprintf(out_fp,"<FONT SIZE=\"-1\">");
2293 fprintf(out_fp,"<A HREF=\"./user_%04d%02d.%s\">",
2294 cur_year,cur_month,html_ext);
2295 @@ -1876,9 +1993,12 @@
2296
2297 fprintf(out_fp,"<FONT SIZE=\"-1\"></CENTER><PRE>\n");
2298
2299 - fprintf(out_fp," %12s %12s %12s %12s %s\n",
2300 - msg_h_hits, msg_h_files, msg_h_xfer, msg_h_visits, msg_h_uname);
2301 + fprintf(out_fp," %12s %12s %12s %12s %12s %12s"\
2302 + " %s\n",
2303 + msg_h_hits, msg_h_files, msg_h_xfer, msg_h_ixfer, msg_h_oxfer,
2304 + msg_h_visits, msg_h_uname);
2305 fprintf(out_fp,"---------------- ---------------- ---------------- " \
2306 + "---------------- ---------------- " \
2307 "---------------- --------------------\n\n");
2308
2309 /* Do groups first (if any) */
2310 @@ -1889,11 +2009,14 @@
2311 if (iptr->flag == OBJ_GRP)
2312 {
2313 fprintf(out_fp,
2314 - "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% %8llu %6.02f%% %s\n",
2315 + "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% %8.0f %6.02f%% "\
2316 + "%8.0f %6.02f%% %8llu %6.02f%% %s\n",
2317 iptr->count,
2318 (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files,
2319 (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024,
2320 - (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit,
2321 + (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->ixfer/1024,
2322 + (t_ixfer==0)?0:((float)iptr->ixfer/t_ixfer)*100.0,iptr->oxfer/1024,
2323 + (t_oxfer==0)?0:((float)iptr->oxfer/t_oxfer)*100.0,iptr->visit,
2324 (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0,
2325 iptr->string);
2326 i_grp--;
2327 @@ -1910,11 +2033,14 @@
2328 if (iptr->flag == OBJ_REG)
2329 {
2330 fprintf(out_fp,
2331 - "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% %8llu %6.02f%% %s\n",
2332 + "%-8llu %6.02f%% %8llu %6.02f%% %8.0f %6.02f%% %8.0f %6.02f%% "\
2333 + "%8.0f %6.02f%% %8llu %6.02f%% %s\n",
2334 iptr->count,
2335 (t_hit==0)?0:((float)iptr->count/t_hit)*100.0,iptr->files,
2336 (t_file==0)?0:((float)iptr->files/t_file)*100.0,iptr->xfer/1024,
2337 - (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->visit,
2338 + (t_xfer==0)?0:((float)iptr->xfer/t_xfer)*100.0,iptr->ixfer/1024,
2339 + (t_ixfer==0)?0:((float)iptr->ixfer/t_ixfer)*100.0,iptr->oxfer/1024,
2340 + (t_oxfer==0)?0:((float)iptr->oxfer/t_oxfer)*100.0,iptr->visit,
2341 (t_visit==0)?0:((float)iptr->visit/t_visit)*100.0,
2342 iptr->string);
2343 i_reg--;
2344 @@ -2016,6 +2142,8 @@
2345 ctry[j].count+=hptr->count;
2346 ctry[j].files+=hptr->files;
2347 ctry[j].xfer +=hptr->xfer;
2348 + ctry[j].ixfer+=hptr->ixfer;
2349 + ctry[j].oxfer+=hptr->oxfer;
2350 ctry_fnd=1;
2351 break;
2352 }
2353 @@ -2026,6 +2154,8 @@
2354 ctry[0].count+=hptr->count;
2355 ctry[0].files+=hptr->files;
2356 ctry[0].xfer +=hptr->xfer;
2357 + ctry[0].ixfer+=hptr->ixfer;
2358 + ctry[0].oxfer+=hptr->oxfer;
2359 }
2360 }
2361 hptr=hptr->next;
2362 @@ -2081,7 +2211,7 @@
2363 for (i=0;i<ntop_ctrys;i++) if (top_ctrys[i]->count!=0) tot_num++;
2364 fprintf(out_fp,"<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
2365 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2366 - fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=8>" \
2367 + fprintf(out_fp,"<TR><TH BGCOLOR=\"%s\" ALIGN=CENTER COLSPAN=12>" \
2368 "%s %d %s %d %s</TH></TR>\n",
2369 GREY,msg_top_top,tot_num,msg_top_of,tot_ctry,msg_top_c);
2370 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2371 @@ -2093,6 +2223,10 @@
2372 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",FILECOLOR,msg_h_files);
2373 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2374 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
2375 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2376 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",LTBLUE,msg_h_ixfer);
2377 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center COLSPAN=2>" \
2378 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREEN,msg_h_oxfer);
2379 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=center>" \
2380 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",MISCCOLOR,msg_h_ctry);
2381 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2382 @@ -2120,6 +2254,10 @@
2383 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2384 "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n"\
2385 "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2386 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2387 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2388 + "<TD ALIGN=right><FONT SIZE=\"-1\"><B>%.0f</B></FONT></TD>\n" \
2389 + "<TD ALIGN=right><FONT SIZE=\"-2\">%3.02f%%</FONT></TD>\n" \
2390 "<TD ALIGN=left NOWRAP>%s<FONT SIZE=\"-1\">%s</FONT>" \
2391 "</TD></TR>\n",
2392 i+1,top_ctrys[i]->count,
2393 @@ -2128,6 +2266,10 @@
2394 (t_file==0)?0:((float)top_ctrys[i]->files/t_file)*100.0,
2395 top_ctrys[i]->xfer/1024,
2396 (t_xfer==0)?0:((float)top_ctrys[i]->xfer/t_xfer)*100.0,
2397 + top_ctrys[i]->ixfer/1024,
2398 + (t_ixfer==0)?0:((float)top_ctrys[i]->ixfer/t_ixfer)*100.0,
2399 + top_ctrys[i]->oxfer/1024,
2400 + (t_oxfer==0)?0:((float)top_ctrys[i]->oxfer/t_oxfer)*100.0,
2401 flag_buf,top_ctrys[i]->desc);
2402 }
2403 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2404 @@ -2155,8 +2297,9 @@
2405 /* need a header? */
2406 if (dump_header)
2407 {
2408 - fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\n",
2409 - msg_h_hits,msg_h_files,msg_h_xfer,msg_h_visits,msg_h_hname);
2410 + fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",
2411 + msg_h_hits,msg_h_files,msg_h_xfer,msg_h_ixfer,msg_h_oxfer,msg_h_visits,
2412 + msg_h_hname);
2413 }
2414
2415 /* dump 'em */
2416 @@ -2167,8 +2310,9 @@
2417 if (hptr->flag != OBJ_GRP)
2418 {
2419 fprintf(out_fp,
2420 - "%llu\t%llu\t%.0f\t%llu\t%s\n",
2421 + "%llu\t%llu\t%.0f\t%.0f\t%.0f\t%llu\t%s\n",
2422 hptr->count,hptr->files,hptr->xfer/1024,
2423 + hptr->ixfer/1024,hptr->oxfer/1024,
2424 hptr->visit,hptr->string);
2425 }
2426 cnt--;
2427 @@ -2198,7 +2342,8 @@
2428 /* need a header? */
2429 if (dump_header)
2430 {
2431 - fprintf(out_fp,"%s\t%s\t%s\n",msg_h_hits,msg_h_xfer,msg_h_url);
2432 + fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\n",msg_h_hits,msg_h_xfer,msg_h_ixfer,
2433 + msg_h_oxfer,msg_h_url);
2434 }
2435
2436 /* dump 'em */
2437 @@ -2208,8 +2353,9 @@
2438 uptr=*pointer++;
2439 if (uptr->flag != OBJ_GRP)
2440 {
2441 - fprintf(out_fp,"%llu\t%.0f\t%s\n",
2442 - uptr->count,uptr->xfer/1024,uptr->string);
2443 + fprintf(out_fp,"%llu\t%.0f\t%.0f\t%.0f\t%s\n",
2444 + uptr->count,uptr->xfer/1024,uptr->ixfer/1024,uptr->oxfer/1024,
2445 + uptr->string);
2446 }
2447 cnt--;
2448 }
2449 @@ -2316,8 +2462,9 @@
2450 /* need a header? */
2451 if (dump_header)
2452 {
2453 - fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\n",
2454 - msg_h_hits,msg_h_files,msg_h_xfer,msg_h_visits,msg_h_uname);
2455 + fprintf(out_fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",
2456 + msg_h_hits,msg_h_files,msg_h_xfer,msg_h_ixfer,msg_h_oxfer,msg_h_visits,
2457 + msg_h_uname);
2458 }
2459
2460 /* dump 'em */
2461 @@ -2328,8 +2475,9 @@
2462 if (iptr->flag != OBJ_GRP)
2463 {
2464 fprintf(out_fp,
2465 - "%llu\t%llu\t%.0f\t%llu\t%s\n",
2466 + "%llu\t%llu\t%.0f\t%.0f\t%.0f\t%llu\t%s\n",
2467 iptr->count,iptr->files,iptr->xfer/1024,
2468 + iptr->ixfer/1024,iptr->oxfer/1024,
2469 iptr->visit,iptr->string);
2470 }
2471 cnt--;
2472 @@ -2391,10 +2539,14 @@
2473 u_int64_t m_pages=0;
2474 u_int64_t m_visits=0;
2475 double m_xfer=0.0;
2476 + double m_ixfer=0.0;
2477 + double m_oxfer=0.0;
2478 double gt_hit=0.0;
2479 double gt_files=0.0;
2480 double gt_pages=0.0;
2481 double gt_xfer=0.0;
2482 + double gt_ixfer=0.0;
2483 + double gt_oxfer=0.0;
2484 double gt_visits=0.0;
2485
2486 if (verbose>1) printf("%s\n",msg_gen_sum);
2487 @@ -2450,14 +2602,14 @@
2488 /* month table */
2489 fprintf(out_fp,"<TABLE WIDTH=600 BORDER=2 CELLSPACING=1 CELLPADDING=1>\n");
2490 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2491 - fprintf(out_fp,"<TR><TH COLSPAN=11 BGCOLOR=\"%s\" ALIGN=center>",GREY);
2492 + fprintf(out_fp,"<TR><TH COLSPAN=13 BGCOLOR=\"%s\" ALIGN=center>",GREY);
2493 fprintf(out_fp,"%s</TH></TR>\n",msg_main_sum);
2494 fprintf(out_fp,"<TR><TH HEIGHT=4></TH></TR>\n");
2495 fprintf(out_fp,"<TR><TH ALIGN=left ROWSPAN=2 BGCOLOR=\"%s\">" \
2496 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,msg_h_mth);
2497 fprintf(out_fp,"<TH ALIGN=center COLSPAN=4 BGCOLOR=\"%s\">" \
2498 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREY,msg_main_da);
2499 - fprintf(out_fp,"<TH ALIGN=center COLSPAN=6 BGCOLOR=\"%s\">" \
2500 + fprintf(out_fp,"<TH ALIGN=center COLSPAN=8 BGCOLOR=\"%s\">" \
2501 "<FONT SIZE=\"-1\">%s</FONT></TH></TR>\n",GREY,msg_main_mt);
2502 fprintf(out_fp,"<TR><TH ALIGN=center BGCOLOR=\"%s\">" \
2503 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",HITCOLOR,msg_h_hits);
2504 @@ -2472,6 +2624,10 @@
2505 fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
2506 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",KBYTECOLOR,msg_h_xfer);
2507 fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
2508 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",LTBLUE,msg_h_ixfer);
2509 + fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
2510 + "<FONT SIZE=\"-1\">%s</FONT></TH>\n",GREEN,msg_h_oxfer);
2511 + fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
2512 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",VISITCOLOR,msg_h_visits);
2513 fprintf(out_fp,"<TH ALIGN=center BGCOLOR=\"%s\">" \
2514 "<FONT SIZE=\"-1\">%s</FONT></TH>\n",PAGECOLOR,msg_h_pages);
2515 @@ -2501,6 +2657,10 @@
2516 GRPCOLOR,s_year);
2517 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2518 "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_xfer);
2519 + fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2520 + "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_ixfer);
2521 + fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2522 + "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_oxfer);
2523 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2524 "<FONT SIZE=\"-1\">%0llu</TH>", GRPCOLOR, m_visits);
2525 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2526 @@ -2509,13 +2669,13 @@
2527 "<FONT SIZE=\"-1\">%0llu</TH>", GRPCOLOR, m_files);
2528 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2529 "<FONT SIZE=\"-1\">%0llu</TH>", GRPCOLOR, m_hit);
2530 - m_xfer=0; m_visits=0; m_pages=0; m_files=0; m_hit=0;
2531 + m_xfer=0; m_ixfer=0; m_oxfer=0; m_visits=0; m_pages=0; m_files=0; m_hit=0;
2532 }
2533
2534 /* Year Header */
2535 s_year=hist[i].year;
2536 if (index_mths>16 && year_hdrs)
2537 - fprintf(out_fp,"<TR><TH COLSPAN=11 BGCOLOR=\"%s\" " \
2538 + fprintf(out_fp,"<TR><TH COLSPAN=13 BGCOLOR=\"%s\" " \
2539 "ALIGN=center>%04d</TH></TR>\n", GREY, s_year);
2540 }
2541
2542 @@ -2541,6 +2701,10 @@
2543 hist[i].site);
2544 fprintf(out_fp,"<TD ALIGN=right><FONT SIZE=\"-1\">%.0f</FONT></TD>\n",
2545 hist[i].xfer);
2546 + fprintf(out_fp,"<TD ALIGN=right><FONT SIZE=\"-1\">%.0f</FONT></TD>\n",
2547 + hist[i].ixfer);
2548 + fprintf(out_fp,"<TD ALIGN=right><FONT SIZE=\"-1\">%.0f</FONT></TD>\n",
2549 + hist[i].oxfer);
2550 fprintf(out_fp,"<TD ALIGN=right><FONT SIZE=\"-1\">%llu</FONT></TD>\n",
2551 hist[i].visit);
2552 fprintf(out_fp,"<TD ALIGN=right><FONT SIZE=\"-1\">%llu</FONT></TD>\n",
2553 @@ -2554,12 +2718,16 @@
2554 gt_files += hist[i].files;
2555 gt_pages += hist[i].page;
2556 gt_xfer += hist[i].xfer;
2557 + gt_ixfer += hist[i].ixfer;
2558 + gt_oxfer += hist[i].oxfer;
2559 gt_visits+= hist[i].visit;
2560 m_hit += hist[i].hit;
2561 m_files += hist[i].files;
2562 m_pages += hist[i].page;
2563 m_visits+= hist[i].visit;
2564 m_xfer += hist[i].xfer;
2565 + m_ixfer += hist[i].ixfer;
2566 + m_oxfer += hist[i].oxfer;
2567 }
2568
2569 if (index_mths>16 && year_totals)
2570 @@ -2569,6 +2737,10 @@
2571 GRPCOLOR,s_year);
2572 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2573 "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_xfer);
2574 + fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2575 + "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_ixfer);
2576 + fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2577 + "<FONT SIZE=\"-1\">%.0f</TH>", GRPCOLOR, m_oxfer);
2578 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2579 "<FONT SIZE=\"-1\">%0llu</TH>", GRPCOLOR, m_visits);
2580 fprintf(out_fp,"<TH ALIGN=\"right\" BGCOLOR=\"%s\">" \
2581 @@ -2584,6 +2756,10 @@
2582 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>" \
2583 "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_xfer);
2584 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>" \
2585 + "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_ixfer);
2586 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>" \
2587 + "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_oxfer);
2588 + fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>" \
2589 "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_visits);
2590 fprintf(out_fp,"<TH BGCOLOR=\"%s\" ALIGN=right>" \
2591 "<FONT SIZE=\"-1\">%.0f</FONT></TH>\n",GREY,gt_pages);
2592 Index: webalizer/parser.c
2593 ===================================================================
2594 --- webalizer.orig/parser.c 2011-04-18 23:54:32.000000000 +0200
2595 +++ webalizer/parser.c 2011-04-18 23:56:44.000000000 +0200
2596 @@ -199,6 +199,9 @@
2597 /* return appropriate response code */
2598 log_rec.resp_code=(*(eob-2)=='i')?206:200;
2599
2600 + /* don't worry about I/O bytes in FTP */
2601 + log_rec.ixfer_size=log_rec.oxfer_size=0;
2602 +
2603 return 1;
2604 }
2605
2606 @@ -365,6 +368,18 @@
2607 while ( (*cp1 != '\0') && (cp1 != eos) ) *cp2++ = *cp1++;
2608 *cp2 = '\0';
2609
2610 + /* IN xfer size */
2611 + while ( (*cp1 != '\0') && (cp1 < eob) ) cp1++;
2612 + if (cp1 < eob) cp1++;
2613 + if (*cp1<'0'||*cp1>'9') log_rec.ixfer_size=0;
2614 + else log_rec.ixfer_size = strtoul(cp1,NULL,10);
2615 +
2616 + /* OUT xfer size */
2617 + while ( (*cp1 != '\0') && (cp1 < eob) ) cp1++;
2618 + if (cp1 < eob) cp1++;
2619 + if (*cp1<'0'||*cp1>'9') log_rec.oxfer_size=0;
2620 + else log_rec.oxfer_size = strtoul(cp1,NULL,10);
2621 +
2622 return 1; /* maybe a valid record, return with TRUE */
2623 }
2624
2625 @@ -501,6 +516,9 @@
2626 /* strip trailing space(s) */
2627 while (*cp2==' ') *cp2--='\0';
2628
2629 + /* don't do this for squid */
2630 + log_rec.ixfer_size=log_rec.oxfer_size=0;
2631 +
2632 /* we have no interest in the remaining fields */
2633 return 1;
2634 }
2635 Index: webalizer/preserve.c
2636 ===================================================================
2637 --- webalizer.orig/preserve.c 2011-04-18 23:54:32.000000000 +0200
2638 +++ webalizer/preserve.c 2011-04-18 23:56:44.000000000 +0200
2639 @@ -121,7 +121,8 @@
2640 if (i>=0)
2641 {
2642 /* month# year# requests files sites xfer firstday lastday */
2643 - numfields = sscanf(buffer,"%d %d %llu %llu %llu %lf %d %d %llu %llu",
2644 + numfields = sscanf(buffer,
2645 + "%d %d %llu %llu %llu %lf %d %d %llu %llu %lf %lf",
2646 &hist[i].month,
2647 &hist[i].year,
2648 &hist[i].hit,
2649 @@ -131,7 +132,9 @@
2650 &hist[i].fday,
2651 &hist[i].lday,
2652 &hist[i].page,
2653 - &hist[i].visit);
2654 + &hist[i].visit,
2655 + &hist[i].ixfer,
2656 + &hist[i].oxfer);
2657 }
2658 }
2659 fclose(hist_fp);
2660 @@ -184,7 +187,7 @@
2661
2662 for (i=HISTSIZE-1;i>=0;i--)
2663 {
2664 - fprintf(hist_fp,"%d %d %llu %llu %llu %.0f %d %d %llu %llu\n",
2665 + fprintf(hist_fp,"%d %d %llu %llu %llu %.0f %d %d %llu %llu %.0f %.0f\n",
2666 hist[i].month,
2667 hist[i].year,
2668 hist[i].hit,
2669 @@ -194,7 +197,9 @@
2670 hist[i].fday,
2671 hist[i].lday,
2672 hist[i].page,
2673 - hist[i].visit);
2674 + hist[i].visit,
2675 + hist[i].ixfer,
2676 + hist[i].oxfer);
2677 }
2678 /* Done, close file */
2679 fclose(hist_fp);
2680 @@ -296,6 +301,8 @@
2681 hist[i].visit = t_visit;
2682 hist[i].site = t_site;
2683 hist[i].xfer = t_xfer/1024;
2684 + hist[i].ixfer = t_ixfer/1024;
2685 + hist[i].oxfer = t_oxfer/1024;
2686 hist[i].fday = f_day;
2687 hist[i].lday = l_day;
2688 }
2689 @@ -361,9 +368,9 @@
2690 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2691
2692 /* Monthly totals for sites, urls, etc... */
2693 - sprintf(buffer,"%llu %llu %llu %llu %llu %llu %.0f %llu %llu %llu\n",
2694 + sprintf(buffer,"%llu %llu %llu %llu %llu %llu %.0f %llu %llu %llu %.0f %.0f\n",
2695 t_hit, t_file, t_site, t_url,
2696 - t_ref, t_agent, t_xfer, t_page, t_visit, t_user);
2697 + t_ref, t_agent, t_xfer, t_page, t_visit, t_user, t_ixfer, t_oxfer);
2698 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2699
2700 /* Daily totals for sites, urls, etc... */
2701 @@ -374,16 +381,17 @@
2702 /* Monthly (by day) total array */
2703 for (i=0;i<31;i++)
2704 {
2705 - sprintf(buffer,"%llu %llu %.0f %llu %llu %llu\n",
2706 - tm_hit[i],tm_file[i],tm_xfer[i],tm_site[i],tm_page[i],tm_visit[i]);
2707 + sprintf(buffer,"%llu %llu %.0f %llu %llu %llu %.0f %.0f\n",
2708 + tm_hit[i],tm_file[i],tm_xfer[i],tm_site[i],
2709 + tm_page[i],tm_visit[i],tm_ixfer[i],tm_oxfer[i]);
2710 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2711 }
2712
2713 /* Daily (by hour) total array */
2714 for (i=0;i<24;i++)
2715 {
2716 - sprintf(buffer,"%llu %llu %.0f %llu\n",
2717 - th_hit[i],th_file[i],th_xfer[i],th_page[i]);
2718 + sprintf(buffer,"%llu %llu %.0f %llu %.0f %.0f\n",
2719 + th_hit[i],th_file[i],th_xfer[i],th_page[i],th_ixfer[i],th_oxfer[i]);
2720 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2721 }
2722
2723 @@ -402,9 +410,11 @@
2724 uptr=um_htab[i];
2725 while (uptr!=NULL)
2726 {
2727 - snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu\n",
2728 + snprintf(buffer,sizeof(buffer),
2729 + "%s\n%d %llu %llu %.0f %llu %llu %.0f %.0f\n",
2730 uptr->string, uptr->flag, uptr->count, uptr->files,
2731 - uptr->xfer, uptr->entry, uptr->exit);
2732 + uptr->xfer, uptr->entry, uptr->exit,
2733 + uptr->ixfer, uptr->oxfer);
2734 if (fputs(buffer,fp)==EOF) return 1;
2735 uptr=uptr->next;
2736 }
2737 @@ -419,9 +429,10 @@
2738 hptr=sm_htab[i];
2739 while (hptr!=NULL)
2740 {
2741 - snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu\n%s\n",
2742 + snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu %.0f %.0f\n%s\n",
2743 hptr->string, hptr->flag, hptr->count, hptr->files,
2744 hptr->xfer, hptr->visit, hptr->tstamp,
2745 + hptr->ixfer, hptr->oxfer,
2746 (hptr->lasturl==blank_str)?"-":hptr->lasturl);
2747 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2748 hptr=hptr->next;
2749 @@ -436,9 +447,10 @@
2750 hptr=sd_htab[i];
2751 while (hptr!=NULL)
2752 {
2753 - snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu\n%s\n",
2754 + snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu %.0f %.0f\n%s\n",
2755 hptr->string, hptr->flag, hptr->count, hptr->files,
2756 hptr->xfer, hptr->visit, hptr->tstamp,
2757 + hptr->ixfer, hptr->oxfer,
2758 (hptr->lasturl==blank_str)?"-":hptr->lasturl);
2759 if (fputs(buffer,fp)==EOF) return 1;
2760 hptr=hptr->next;
2761 @@ -505,9 +517,9 @@
2762 iptr=im_htab[i];
2763 while (iptr!=NULL)
2764 {
2765 - snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu\n",
2766 + snprintf(buffer,sizeof(buffer),"%s\n%d %llu %llu %.0f %llu %llu %.0f %.0f\n",
2767 iptr->string, iptr->flag, iptr->count, iptr->files,
2768 - iptr->xfer, iptr->visit, iptr->tstamp);
2769 + iptr->xfer, iptr->visit, iptr->tstamp, iptr->ixfer, iptr->oxfer);
2770 if (fputs(buffer,fp)==EOF) return 1; /* error exit */
2771 iptr=iptr->next;
2772 }
2773 @@ -589,9 +601,10 @@
2774 /* Get monthly totals */
2775 if ((fgets(buffer,BUFSIZE,fp)) != NULL)
2776 {
2777 - sscanf(buffer,"%llu %llu %llu %llu %llu %llu %lf %llu %llu %llu",
2778 + sscanf(buffer,"%llu %llu %llu %llu %llu %llu %lf %llu %llu %llu %lf %lf",
2779 &t_hit, &t_file, &t_site, &t_url,
2780 - &t_ref, &t_agent, &t_xfer, &t_page, &t_visit, &t_user);
2781 + &t_ref, &t_agent, &t_xfer, &t_page, &t_visit,
2782 + &t_user, &t_ixfer, &t_oxfer);
2783 } else return 3; /* error exit */
2784
2785 /* Get daily totals */
2786 @@ -606,9 +619,9 @@
2787 {
2788 if ((fgets(buffer,BUFSIZE,fp)) != NULL)
2789 {
2790 - sscanf(buffer,"%llu %llu %lf %llu %llu %llu",
2791 + sscanf(buffer,"%llu %llu %lf %llu %llu %llu %lf %lf",
2792 &tm_hit[i],&tm_file[i],&tm_xfer[i],&tm_site[i],&tm_page[i],
2793 - &tm_visit[i]);
2794 + &tm_visit[i],&tm_ixfer[i],&tm_oxfer[i]);
2795 } else return 5; /* error exit */
2796 }
2797
2798 @@ -617,8 +630,9 @@
2799 {
2800 if ((fgets(buffer,BUFSIZE,fp)) != NULL)
2801 {
2802 - sscanf(buffer,"%llu %llu %lf %llu",
2803 - &th_hit[i],&th_file[i],&th_xfer[i],&th_page[i]);
2804 + sscanf(buffer,"%llu %llu %lf %llu %lf %lf",
2805 + &th_hit[i],&th_file[i],&th_xfer[i],
2806 + &th_page[i],&th_ixfer[i],&th_oxfer[i]);
2807 } else return 6; /* error exit */
2808 }
2809
2810 @@ -652,14 +666,15 @@
2811 if (!isdigit((unsigned char)buffer[0])) return 10; /* error exit */
2812
2813 /* load temporary node data */
2814 - sscanf(buffer,"%d %llu %llu %lf %llu %llu",
2815 + sscanf(buffer,"%d %llu %llu %lf %llu %llu %lf %lf",
2816 &t_unode.flag,&t_unode.count,
2817 &t_unode.files, &t_unode.xfer,
2818 - &t_unode.entry, &t_unode.exit);
2819 + &t_unode.entry, &t_unode.exit, &t_unode.ixfer, &t_unode.oxfer);
2820
2821 /* Good record, insert into hash table */
2822 if (put_unode(tmp_buf,t_unode.flag,t_unode.count,
2823 - t_unode.xfer,&ul_bogus,t_unode.entry,t_unode.exit,um_htab))
2824 + t_unode.xfer,t_unode.ixfer,t_unode.oxfer,&ul_bogus,t_unode.entry,
2825 + t_unode.exit,um_htab))
2826 {
2827 if (verbose)
2828 /* Error adding URL node, skipping ... */
2829 @@ -683,10 +698,10 @@
2830 if (!isdigit((unsigned char)buffer[0])) return 8; /* error exit */
2831
2832 /* load temporary node data */
2833 - sscanf(buffer,"%d %llu %llu %lf %llu %llu",
2834 + sscanf(buffer,"%d %llu %llu %lf %llu %llu %lf %lf",
2835 &t_hnode.flag,&t_hnode.count,
2836 &t_hnode.files, &t_hnode.xfer,
2837 - &t_hnode.visit, &t_hnode.tstamp);
2838 + &t_hnode.visit, &t_hnode.tstamp, &t_hnode.ixfer, &t_hnode.oxfer);
2839
2840 /* get last url */
2841 if ((fgets(buffer,BUFSIZE,fp)) == NULL) return 8; /* error exit */
2842 @@ -699,7 +714,8 @@
2843
2844 /* Good record, insert into hash table */
2845 if (put_hnode(tmp_buf,t_hnode.flag,
2846 - t_hnode.count,t_hnode.files,t_hnode.xfer,&ul_bogus,
2847 + t_hnode.count,t_hnode.files,t_hnode.xfer,t_hnode.ixfer,t_hnode.oxfer,
2848 + &ul_bogus,
2849 t_hnode.visit+1,t_hnode.tstamp,t_hnode.lasturl,sm_htab))
2850 {
2851 /* Error adding host node (monthly), skipping .... */
2852 @@ -723,10 +739,10 @@
2853 if (!isdigit((unsigned char)buffer[0])) return 9; /* error exit */
2854
2855 /* load temporary node data */
2856 - sscanf(buffer,"%d %llu %llu %lf %llu %llu",
2857 + sscanf(buffer,"%d %llu %llu %lf %llu %llu %lf %lf",
2858 &t_hnode.flag,&t_hnode.count,
2859 &t_hnode.files, &t_hnode.xfer,
2860 - &t_hnode.visit, &t_hnode.tstamp);
2861 + &t_hnode.visit, &t_hnode.tstamp, &t_hnode.ixfer, &t_hnode.oxfer);
2862
2863 /* get last url */
2864 if ((fgets(buffer,BUFSIZE,fp)) == NULL) return 9; /* error exit */
2865 @@ -739,7 +755,8 @@
2866
2867 /* Good record, insert into hash table */
2868 if (put_hnode(tmp_buf,t_hnode.flag,
2869 - t_hnode.count,t_hnode.files,t_hnode.xfer,&ul_bogus,
2870 + t_hnode.count,t_hnode.files,t_hnode.xfer,t_hnode.ixfer,t_hnode.oxfer,
2871 + &ul_bogus,
2872 t_hnode.visit+1,t_hnode.tstamp,t_hnode.lasturl,sd_htab))
2873 {
2874 /* Error adding host node (daily), skipping .... */
2875 @@ -837,14 +854,15 @@
2876 if (!isdigit((unsigned char)buffer[0])) return 14; /* error exit */
2877
2878 /* load temporary node data */
2879 - sscanf(buffer,"%d %llu %llu %lf %llu %llu",
2880 + sscanf(buffer,"%d %llu %llu %lf %llu %llu %lf %lf",
2881 &t_inode.flag,&t_inode.count,
2882 &t_inode.files, &t_inode.xfer,
2883 - &t_inode.visit, &t_inode.tstamp);
2884 + &t_inode.visit, &t_inode.tstamp, &t_inode.ixfer, &t_inode.oxfer);
2885
2886 /* Good record, insert into hash table */
2887 if (put_inode(tmp_buf,t_inode.flag,
2888 - t_inode.count,t_inode.files,t_inode.xfer,&ul_bogus,
2889 + t_inode.count,t_inode.files,t_inode.xfer,t_inode.ixfer,t_inode.oxfer,
2890 + &ul_bogus,
2891 t_inode.visit+1,t_inode.tstamp,im_htab))
2892 {
2893 if (verbose)
2894 Index: webalizer/preserve.h
2895 ===================================================================
2896 --- webalizer.orig/preserve.h 2011-04-18 23:54:32.000000000 +0200
2897 +++ webalizer/preserve.h 2011-04-18 23:56:44.000000000 +0200
2898 @@ -21,6 +21,8 @@
2899 u_int64_t page; /* pages for month */
2900 u_int64_t visit; /* visits for month */
2901 double xfer; /* xfer amt for month */
2902 + double ixfer; /* ixfer amt for month */
2903 + double oxfer; /* oxfer amt for month */
2904 };
2905
2906 extern struct hist_rec hist[HISTSIZE]; /* declare our hist array */
2907 Index: webalizer/webalizer.c
2908 ===================================================================
2909 --- webalizer.orig/webalizer.c 2011-04-18 23:54:39.000000000 +0200
2910 +++ webalizer/webalizer.c 2011-04-18 23:56:44.000000000 +0200
2911 @@ -216,11 +216,15 @@
2912 int gz_log=COMP_NONE; /* gziped log? (0=no) */
2913
2914 double t_xfer=0.0; /* monthly total xfer value */
2915 +double t_ixfer=0.0; /* monthly total in xfer */
2916 +double t_oxfer=0.0; /* monthly total out xfer */
2917 u_int64_t t_hit=0,t_file=0,t_site=0, /* monthly total vars */
2918 t_url=0,t_ref=0,t_agent=0,
2919 t_page=0, t_visit=0, t_user=0;
2920
2921 double tm_xfer[31]; /* daily transfer totals */
2922 +double tm_ixfer[31]; /* daily in xfer totals */
2923 +double tm_oxfer[31]; /* daily out xfer totals */
2924
2925 u_int64_t tm_hit[31], tm_file[31], /* daily total arrays */
2926 tm_site[31], tm_page[31],
2927 @@ -234,6 +238,8 @@
2928 th_page[24];
2929
2930 double th_xfer[24];
2931 +double th_ixfer[24];
2932 +double th_oxfer[24];
2933
2934 int f_day,l_day; /* first/last day vars */
2935
2936 @@ -1202,7 +1208,8 @@
2937 {
2938 /* URL hash table */
2939 if (put_unode(log_rec.url,OBJ_REG,(u_int64_t)1,
2940 - log_rec.xfer_size,&t_url,(u_int64_t)0,(u_int64_t)0,um_htab))
2941 + log_rec.xfer_size,log_rec.ixfer_size,log_rec.oxfer_size,
2942 + &t_url,(u_int64_t)0,(u_int64_t)0,um_htab))
2943 {
2944 if (verbose)
2945 /* Error adding URL node, skipping ... */
2946 @@ -1211,7 +1218,8 @@
2947
2948 /* ident (username) hash table */
2949 if (put_inode(log_rec.ident,OBJ_REG,
2950 - 1,(u_int64_t)i,log_rec.xfer_size,&t_user,
2951 + 1,(u_int64_t)i,log_rec.xfer_size,
2952 + log_rec.ixfer_size,log_rec.oxfer_size,&t_user,
2953 0,rec_tstamp,im_htab))
2954 {
2955 if (verbose)
2956 @@ -1233,7 +1241,8 @@
2957
2958 /* hostname (site) hash table - daily */
2959 if (put_hnode(log_rec.hostname,OBJ_REG,
2960 - 1,(u_int64_t)i,log_rec.xfer_size,&dt_site,
2961 + 1,(u_int64_t)i,log_rec.xfer_size,
2962 + log_rec.ixfer_size,log_rec.oxfer_size,&dt_site,
2963 0,rec_tstamp,"",sd_htab))
2964 {
2965 if (verbose)
2966 @@ -1243,7 +1252,8 @@
2967
2968 /* hostname (site) hash table - monthly */
2969 if (put_hnode(log_rec.hostname,OBJ_REG,
2970 - 1,(u_int64_t)i,log_rec.xfer_size,&t_site,
2971 + 1,(u_int64_t)i,log_rec.xfer_size,
2972 + log_rec.ixfer_size,log_rec.oxfer_size,&t_site,
2973 0,rec_tstamp,"",sm_htab))
2974 {
2975 if (verbose)
2976 @@ -1264,10 +1274,16 @@
2977
2978 /* bump monthly/daily/hourly totals */
2979 t_hit++; ht_hit++; /* daily/hourly hits */
2980 - t_xfer += log_rec.xfer_size; /* total xfer size */
2981 - tm_xfer[rec_day-1] += log_rec.xfer_size; /* daily xfer total */
2982 + t_xfer += log_rec.xfer_size; /* total xfer size */
2983 + t_ixfer += log_rec.ixfer_size; /* total in xfer size */
2984 + t_oxfer += log_rec.oxfer_size; /* total out xfer size */
2985 + tm_xfer[rec_day-1] += log_rec.xfer_size; /* daily xfer total */
2986 + tm_ixfer[rec_day-1] += log_rec.ixfer_size; /* daily in xfer total */
2987 + tm_oxfer[rec_day-1] += log_rec.oxfer_size; /* daily out xfer total */
2988 tm_hit[rec_day-1]++; /* daily hits total */
2989 th_xfer[rec_hour] += log_rec.xfer_size; /* hourly xfer total */
2990 + th_ixfer[rec_hour] += log_rec.ixfer_size; /* hourly in xfer total */
2991 + th_oxfer[rec_hour] += log_rec.oxfer_size; /* hourly out xfer total*/
2992 th_hit[rec_hour]++; /* hourly hits total */
2993
2994 /* if RC_OK, increase file counters */
2995 @@ -1297,6 +1313,7 @@
2996 if ( (cp1=isinglist(group_urls,log_rec.url))!=NULL)
2997 {
2998 if (put_unode(cp1,OBJ_GRP,(u_int64_t)1,log_rec.xfer_size,
2999 + log_rec.ixfer_size,log_rec.oxfer_size,
3000 &ul_bogus,(u_int64_t)0,(u_int64_t)0,um_htab))
3001 {
3002 if (verbose)
3003 @@ -1310,7 +1327,8 @@
3004 {
3005 if (put_hnode(cp1,OBJ_GRP,1,
3006 (u_int64_t)(log_rec.resp_code==RC_OK)?1:0,
3007 - log_rec.xfer_size,&ul_bogus,
3008 + log_rec.xfer_size,
3009 + log_rec.ixfer_size,log_rec.oxfer_size,&ul_bogus,
3010 0,rec_tstamp,"",sm_htab))
3011 {
3012 if (verbose)
3013 @@ -1328,8 +1346,8 @@
3014 {
3015 if (put_hnode(cp1,OBJ_GRP,1,
3016 (u_int64_t)(log_rec.resp_code==RC_OK)?1:0,
3017 - log_rec.xfer_size,&ul_bogus,
3018 - 0,rec_tstamp,"",sm_htab))
3019 + log_rec.xfer_size,log_rec.ixfer_size,log_rec.oxfer_size,
3020 + &ul_bogus,0,rec_tstamp,"",sm_htab))
3021 {
3022 if (verbose)
3023 /* Error adding Site node, skipping ... */
3024 @@ -1366,7 +1384,8 @@
3025 {
3026 if (put_inode(cp1,OBJ_GRP,1,
3027 (u_int64_t)(log_rec.resp_code==RC_OK)?1:0,
3028 - log_rec.xfer_size,&ul_bogus,
3029 + log_rec.xfer_size,
3030 + log_rec.ixfer_size,log_rec.oxfer_size,&ul_bogus,
3031 0,rec_tstamp,im_htab))
3032 {
3033 if (verbose)
3034 @@ -1905,22 +1924,22 @@
3035 for (i=0;i<TOTAL_RC;i++) response[i].count = 0;
3036 for (i=0;i<31;i++) /* monthly totals */
3037 {
3038 - tm_xfer[i]=0.0;
3039 + tm_xfer[i]=tm_ixfer[i]=tm_oxfer[i]=0.0;
3040 tm_hit[i]=tm_file[i]=tm_site[i]=tm_page[i]=tm_visit[i]=0;
3041 }
3042 for (i=0;i<24;i++) /* hourly totals */
3043 {
3044 th_hit[i]=th_file[i]=th_page[i]=0;
3045 - th_xfer[i]=0.0;
3046 + th_xfer[i]=th_ixfer[i]=th_oxfer[i]=0.0;
3047 }
3048 for (i=0;ctry[i].desc;i++) /* country totals */
3049 {
3050 ctry[i].count=0;
3051 ctry[i].files=0;
3052 - ctry[i].xfer=0;
3053 + ctry[i].xfer=ctry[i].ixfer=ctry[i].oxfer=0;
3054 }
3055 t_hit=t_file=t_site=t_url=t_ref=t_agent=t_page=t_visit=t_user=0;
3056 - t_xfer=0.0;
3057 + t_xfer=t_ixfer=t_oxfer=0.0;
3058 mh_hit = dt_site = 0;
3059 f_day=l_day=1;
3060 }
3061 Index: webalizer/webalizer.h
3062 ===================================================================
3063 --- webalizer.orig/webalizer.h 2011-04-18 23:54:32.000000000 +0200
3064 +++ webalizer/webalizer.h 2011-04-18 23:56:44.000000000 +0200
3065 @@ -144,7 +144,9 @@
3066 char *desc; /* TLD description */
3067 u_int64_t count; /* hit counter */
3068 u_int64_t files; /* file counter */
3069 - double xfer; }; /* xfer amt counter */
3070 + double xfer; /* xfer amt counter */
3071 + double ixfer; /* in xfer amt counter */
3072 + double oxfer; }; /* out xfer amt counter */
3073
3074 typedef struct country_code *CLISTPTR;
3075
3076 @@ -154,6 +156,8 @@
3077 char url[MAXURL]; /* raw request field */
3078 int resp_code; /* response code */
3079 u_int64_t xfer_size; /* xfer size in bytes */
3080 + u_int64_t ixfer_size; /* in xfer size bytes */
3081 + u_int64_t oxfer_size; /* out xfer size bytes */
3082 char refer[MAXREF]; /* referrer */
3083 char agent[MAXAGENT]; /* user agent (browser) */
3084 char srchstr[MAXSRCH]; /* search string */
3085 @@ -252,11 +256,15 @@
3086 cur_min, cur_sec;
3087
3088 extern double t_xfer; /* monthly total xfer value */
3089 +extern double t_ixfer; /* monthly total in xfer */
3090 +extern double t_oxfer; /* monthly total out xfer */
3091 extern u_int64_t t_hit, t_file, t_site, /* monthly total vars */
3092 t_url, t_ref, t_agent,
3093 t_page,t_visit,t_user;
3094
3095 extern double tm_xfer[31]; /* daily transfer totals */
3096 +extern double tm_ixfer[31]; /* daily in xfer totals */
3097 +extern double tm_oxfer[31]; /* daily out xfer totals */
3098
3099 extern u_int64_t tm_hit[31], tm_file[31], /* daily total arrays */
3100 tm_site[31],tm_page[31],
3101 @@ -270,6 +278,8 @@
3102 th_page[24];
3103
3104 extern double th_xfer[24]; /* hourly xfer array */
3105 +extern double th_ixfer[24];
3106 +extern double th_oxfer[24];
3107
3108 extern int f_day,l_day; /* first/last day vars */
3109 extern int gz_log; /* flag for zipped log */