OLD | NEW |
| (Empty) |
1 <!-- | |
2 - This file is part of the Adblock Plus web scripts, | |
3 - Copyright (C) 2006-present eyeo GmbH | |
4 - | |
5 - Adblock Plus is free software: you can redistribute it and/or modify | |
6 - it under the terms of the GNU General Public License version 3 as | |
7 - published by the Free Software Foundation. | |
8 - | |
9 - Adblock Plus is distributed in the hope that it will be useful, | |
10 - but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 - GNU General Public License for more details. | |
13 - | |
14 - You should have received a copy of the GNU General Public License | |
15 - along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | |
16 --> | |
17 | |
18 <!DOCTYPE html> | |
19 <html lang="en"> | |
20 <head> | |
21 <meta name="robots" content="noindex,nofollow" /> | |
22 <meta charset="utf-8"> | |
23 <link rel="stylesheet" type="text/css" href="../../../static/stats.css" /> | |
24 <link rel="stylesheet" type="text/css" href="../../../static/flags.css" /> | |
25 <link rel="stylesheet" type="text/css" href="../../../static/hours.css" /> | |
26 <title>Statistics for file {{fileName}} ({{month|monthname}})</title> | |
27 <script type="text/javascript"> | |
28 document.addEventListener("click", function(event) | |
29 { | |
30 if (event.target.className == "showAllLink") | |
31 { | |
32 document.getElementById(event.target.getAttribute("data-hide")).style.
display = "none"; | |
33 document.getElementById(event.target.getAttribute("data-show")).style.
display = ""; | |
34 event.preventDefault(); | |
35 } | |
36 }, false); | |
37 </script> | |
38 </head> | |
39 | |
40 <body style="margin-top: 0px"> | |
41 <a name="top"> </a> | |
42 <table class="block" width="100%"> | |
43 <tr> | |
44 <td class="title" width="250">Statistics for file:</td> | |
45 <td>{{url}}</td> | |
46 </tr> | |
47 <tr> | |
48 <td class="title" width="250">Last update:</td> | |
49 <td>{{now|formattime}}</td> | |
50 </tr> | |
51 <tr> | |
52 <td class="title" width="250">Reported period:</td> | |
53 <td>Month {{month|monthname}} (<a href="{{overview_url}}">To overview pa
ge</a>)</td> | |
54 </tr> | |
55 {%- if filter %} | |
56 <tr> | |
57 <td class="title" width="250">Filter:</td> | |
58 <td> | |
59 {%- if filter.field.filter %} | |
60 {{filter.field.title}} only | |
61 {%- else %} | |
62 {{filter.field.coltitle}} is {{filter.value}} | |
63 {%- endif %} | |
64 (<a href="index.html">Remove filter</a>)</td> | |
65 </tr> | |
66 {%- endif %} | |
67 </table> | |
68 | |
69 {%- macro row(name, value, params, special=False, emph=False, chart=True, fi
ltered_url=None) %} | |
70 <tr{% if special %} class="special"{% endif%}> | |
71 <td{% if emph %} class="emph"{% endif%}> | |
72 {%- if filtered_url %} | |
73 <a href="{{filtered_url}}"> | |
74 {%- endif %} | |
75 | |
76 {%- if not special and params.field.name == "hour" -%} | |
77 <div class="hour hour{{name|int % 12 + 1}}"></div> {{name}} | |
78 {%- elif not special and params.field.name == "weekday" -%} | |
79 {{name|weekday}} | |
80 {%- elif not special and params.field.name == "country" -%} | |
81 <div class="flag {{name}}"></div> {{name|countryname}} <div class="c
ountrycode">{{name}}</div> | |
82 {%- else -%} | |
83 {{name}} | |
84 {%- endif -%} | |
85 | |
86 {%- if filtered_url %} | |
87 </a> | |
88 {%- endif %} | |
89 </td> | |
90 <td align="right">{{value.hits}}</td> | |
91 <td align="right">{{value.hits|percentage(params.totalhits)|round(precis
ion=1)}}%</td> | |
92 <td align="right">{{value.bandwidth|bytes}}</td> | |
93 <td align="right">{{value.bandwidth|percentage(params.totalbandwidth)|ro
und(precision=1)}}%</td> | |
94 {%- if chart %} | |
95 <td class="chart"> | |
96 <div class="hitsChart" style="width: {{value.hits|percentage(params.
maxhits)|round(method='ceil')|int}}px;"></div><br /> | |
97 <div class="bandwidthChart" style="width: {{value.bandwidth|percenta
ge(params.maxbandwidth)|round(method='ceil')|int}}px;"></div> | |
98 </td> | |
99 {%- else %} | |
100 <td> </td> | |
101 {%- endif %} | |
102 </tr> | |
103 {%- endmacro %} | |
104 | |
105 {# Using selectattr filter would be nice but servers don't have Jinja 2.7 ye
t #} | |
106 {%- set filterFields = [] %} | |
107 {%- for field in fields %} | |
108 {%- if field.filter and field.name in data and "True" in data[field.name]
%} | |
109 {%- set dummy = filterFields.append(field) %} | |
110 {%- endif %} | |
111 {%- endfor %} | |
112 | |
113 <div id="quickLinks"> | |
114 {%- if filterFields|length > 0 %} | |
115 <a href="#overview">Overview</a> | |
116 {%- endif %} | |
117 | |
118 {%- for field in fields %} | |
119 {%- if not field.filter and not field.hidden and field.name in data %} | |
120 <a href="#{{field.name}}">{{field.title}}</a> | |
121 {%- endif %} | |
122 {%- endfor %} | |
123 </div> | |
124 | |
125 {%- if filterFields|length > 0 %} | |
126 {%- if filter %} | |
127 {%- set params = {"totalhits": data.hits, "totalbandwidth": data.bandwid
th, "field": {"name": None}} %} | |
128 {%- else %} | |
129 {%- set items = data.day|sortfield("day") %} | |
130 {%- set params = {"totalhits": items|sumhits, "totalbandwidth": items|su
mbandwidth, "field": {"name": None}} %} | |
131 {%- endif %} | |
132 <div id="overview" class="block_title">Overview</div> | |
133 <div class="block"> | |
134 <table align="center"> | |
135 <tr> | |
136 <th bgcolor="#ECECEC">Condition</th> | |
137 <th bgcolor="#66DDEE" colspan="2">Hits</th> | |
138 <th bgcolor="#2EA495" colspan="2">Bandwidth</th> | |
139 </tr> | |
140 {%- for field in filterFields %} | |
141 {{row(field.title, data[field.name].True, params, chart=False, | |
142 filtered_url=filtered_urls.get(field.name, {}).get("True", Non
e))}} | |
143 {%- endfor %} | |
144 {{row("Total", {"hits": params.totalhits, "bandwidth": params.totalban
dwidth}, params, special=True, emph=True, chart=False)}} | |
145 </table> | |
146 </div> | |
147 {%- endif %} | |
148 | |
149 {%- for field in fields %} | |
150 {%- if not field.filter and not field.hidden and field.name in data %} | |
151 {%- set items = data[field.name]|sortfield(field) %} | |
152 {%- set params = {"maxhits": items|maxhits, "maxbandwidth": items|maxban
dwidth, | |
153 "totalhits": items|sumhits, "totalbandwidth": items|su
mbandwidth, | |
154 "field": field} %} | |
155 {%- set count = items|length %} | |
156 <div id="{{field.name}}" class="block_title">{{field.title}}</div> | |
157 <div class="block"> | |
158 <table align="center"> | |
159 <tr> | |
160 <th bgcolor="#ECECEC">{{field.coltitle}}</th> | |
161 <th bgcolor="#66DDEE" colspan="2">Hits</th> | |
162 <th bgcolor="#2EA495" colspan="2">Bandwidth</th> | |
163 </tr> | |
164 {%- for name, value in items[0:field|defaultcount] %} | |
165 {{row(name, value, params, special=name|isspecial(field), | |
166 filtered_url=filtered_urls.get(field.name, {}).get(name, None))}
} | |
167 {%- endfor %} | |
168 {%- if count > field|defaultcount %} | |
169 <tr id="{{field.name}}_showAll" class="special"> | |
170 <td> | |
171 Other | |
172 <a href="#" class="showAllLink" data-hide="{{field.name}}_showAl
l" data-show="{{field.name}}_additionalItems"> | |
173 Show all | |
174 </a> | |
175 </td> | |
176 <td align="right">{{items[field|defaultcount:]|sumhits}}</td> | |
177 <td> </td> | |
178 <td align="right">{{items[field|defaultcount:]|sumbandwidth|bytes}
}</td> | |
179 <td> </td> | |
180 <td> </td> | |
181 </tr> | |
182 <tbody id="{{field.name}}_additionalItems" style="display: none;"> | |
183 {%- for name, value in items[field|defaultcount:] %} | |
184 {{row(name, value, params, special=name|isspecial(field), | |
185 filtered_url=filtered_urls.get(field.name, {}).get(name, None)
)}} | |
186 {%- endfor %} | |
187 </tbody> | |
188 {%- endif %} | |
189 {%- if field.showaverage %} | |
190 {%- set avghits = (params.totalhits / count)|int %} | |
191 {%- set avgbandwidth = (params.totalbandwidth / count)|int %} | |
192 {{row("Average", {"hits": avghits, "bandwidth": avgbandwidth}, par
ams, special=True, emph=True)}} | |
193 {%- endif %} | |
194 {%- if field.name == "day" and filterFields|length == 0 %} | |
195 {{row("Total", {"hits": params.totalhits, "bandwidth": params.tota
lbandwidth}, params, special=True, emph=True, chart=False)}} | |
196 {%- endif %} | |
197 </table> | |
198 </div> | |
199 {%- endif %} | |
200 {%- endfor %} | |
201 </body> | |
202 </html> | |
OLD | NEW |