tor-commits
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
January 2016
- 19 participants
- 1450 discussions
[translation/https_everywhere] Update translations for https_everywhere
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit d406bac07af7137cea273453967f28db1248bd7d
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 11:15:15 2016 +0000
Update translations for https_everywhere
---
es/https-everywhere.dtd | 6 +++---
zh-CN/https-everywhere.dtd | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/es/https-everywhere.dtd b/es/https-everywhere.dtd
index 0af1947..0a833b9 100644
--- a/es/https-everywhere.dtd
+++ b/es/https-everywhere.dtd
@@ -3,11 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "¡Cifre la Web! Utilice automáticamente la seguridad HTTPS en muchos sitios.">
<!ENTITY https-everywhere.about.version "Versión">
<!ENTITY https-everywhere.about.created_by "Creado por">
-<!ENTITY https-everywhere.about.and ", and">
+<!ENTITY https-everywhere.about.and ", y">
<!ENTITY https-everywhere.about.librarians "Bibliotecarios de reglas">
<!ENTITY https-everywhere.about.thanks "Agradecimientos para">
-<!ENTITY https-everywhere.about.many_contributors "Many many contributors, including">
-<!ENTITY https-everywhere.about.noscript "Also, portions of HTTPS Everywhere are based on code from NoScript, by Giorgio Maone and others. We are grateful for their excellent work!">
+<!ENTITY https-everywhere.about.many_contributors "Muchos muchos colaboradores, incluyendo">
+<!ENTITY https-everywhere.about.noscript "Además, partes de HTTPS Everywhere están basadas en código de NoScript, de Giorgio Maone y otros. ¡Estamos agradecidos por su excelente trabajo!">
<!ENTITY https-everywhere.about.contribute "Si le agrada HTTPS Everywhere (HTTPS en cualquier sitio), podría considerar">
<!ENTITY https-everywhere.about.donate_tor "Donar a Tor">
<!ENTITY https-everywhere.about.tor_lang_code "es">
diff --git a/zh-CN/https-everywhere.dtd b/zh-CN/https-everywhere.dtd
index 136d634..6a7ed8c 100644
--- a/zh-CN/https-everywhere.dtd
+++ b/zh-CN/https-everywhere.dtd
@@ -3,11 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "加密网络浏览,自动使用 HTTPS 连接访问站点,更加安全。">
<!ENTITY https-everywhere.about.version "版本">
<!ENTITY https-everywhere.about.created_by "创建者">
-<!ENTITY https-everywhere.about.and ", and">
+<!ENTITY https-everywhere.about.and ",及">
<!ENTITY https-everywhere.about.librarians "规则管理员">
<!ENTITY https-everywhere.about.thanks "致谢">
-<!ENTITY https-everywhere.about.many_contributors "Many many contributors, including">
-<!ENTITY https-everywhere.about.noscript "Also, portions of HTTPS Everywhere are based on code from NoScript, by Giorgio Maone and others. We are grateful for their excellent work!">
+<!ENTITY https-everywhere.about.many_contributors "许多许多贡献者,包括">
+<!ENTITY https-everywhere.about.noscript "另外,HTTPS Everywhere 的部分源代码基于 NoScript,作者是 Giorgio Maone 等人。我们非常感谢他们出色的成果!">
<!ENTITY https-everywhere.about.contribute "如果喜欢 HTTPS Everywhere,您可以考虑">
<!ENTITY https-everywhere.about.donate_tor "捐助 Tor">
<!ENTITY https-everywhere.about.tor_lang_code "zh_CN">
1
0
[translation/https_everywhere_completed] Update translations for https_everywhere_completed
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit 056d5952c9db8b07369e68e5f14ab2c25a7686d7
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:45:29 2016 +0000
Update translations for https_everywhere_completed
---
ru/https-everywhere.dtd | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd
index e951a79..14259ad 100644
--- a/ru/https-everywhere.dtd
+++ b/ru/https-everywhere.dtd
@@ -3,8 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "Зашифруйте сеть! Автоматически переключайтесь на безопасный протокол HTTPS там, где это возможно.">
<!ENTITY https-everywhere.about.version "Версия">
<!ENTITY https-everywhere.about.created_by "Авторы">
+<!ENTITY https-everywhere.about.and ", и">
<!ENTITY https-everywhere.about.librarians "Хранители правил">
<!ENTITY https-everywhere.about.thanks "Благодарности">
+<!ENTITY https-everywhere.about.many_contributors "Многим участникам, включая">
+<!ENTITY https-everywhere.about.noscript "Кроме того, части HTTPS Everywhere основаны на коде из NoScript от Джорджио Maone и других. Мы благодарны им за их отличную работу!">
<!ENTITY https-everywhere.about.contribute "Если Вам нравится HTTPS Everywhere, возможно, Вы хотели бы сделать">
<!ENTITY https-everywhere.about.donate_tor "пожертвование Tor">
<!ENTITY https-everywhere.about.tor_lang_code "ru">
1
0
[translation/https_everywhere] Update translations for https_everywhere
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit 9834ef58fb43180ed9bf86499fbb972485e875f7
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:45:16 2016 +0000
Update translations for https_everywhere
---
ru/https-everywhere.dtd | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd
index b9be4e9..14259ad 100644
--- a/ru/https-everywhere.dtd
+++ b/ru/https-everywhere.dtd
@@ -3,11 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "Зашифруйте сеть! Автоматически переключайтесь на безопасный протокол HTTPS там, где это возможно.">
<!ENTITY https-everywhere.about.version "Версия">
<!ENTITY https-everywhere.about.created_by "Авторы">
-<!ENTITY https-everywhere.about.and ", and">
+<!ENTITY https-everywhere.about.and ", и">
<!ENTITY https-everywhere.about.librarians "Хранители правил">
<!ENTITY https-everywhere.about.thanks "Благодарности">
-<!ENTITY https-everywhere.about.many_contributors "Many many contributors, including">
-<!ENTITY https-everywhere.about.noscript "Also, portions of HTTPS Everywhere are based on code from NoScript, by Giorgio Maone and others. We are grateful for their excellent work!">
+<!ENTITY https-everywhere.about.many_contributors "Многим участникам, включая">
+<!ENTITY https-everywhere.about.noscript "Кроме того, части HTTPS Everywhere основаны на коде из NoScript от Джорджио Maone и других. Мы благодарны им за их отличную работу!">
<!ENTITY https-everywhere.about.contribute "Если Вам нравится HTTPS Everywhere, возможно, Вы хотели бы сделать">
<!ENTITY https-everywhere.about.donate_tor "пожертвование Tor">
<!ENTITY https-everywhere.about.tor_lang_code "ru">
1
0
[translation/mat-gui_completed] Update translations for mat-gui_completed
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit fcac14c26527fa13c677071514a50afbe42a4c80
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:16:20 2016 +0000
Update translations for mat-gui_completed
---
pt_BR.po | 99 +++++++++++++++++++++++++++++++++-----------------------------
1 file changed, 52 insertions(+), 47 deletions(-)
diff --git a/pt_BR.po b/pt_BR.po
index 4a1c2b1..3764e8f 100644
--- a/pt_BR.po
+++ b/pt_BR.po
@@ -10,13 +10,14 @@
# Eduardo Luis Voltolini Tafner, 2013
# Marcos Ortiz <marcosortizf(a)gmail.com>, 2013
# Marcus Vinicius Lemes de Oliveira <mlemes(a)live.com>, 2015
+# Matheus Boni Vicari <matheus_boni_vicari(a)hotmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-31 04:53+0100\n"
-"PO-Revision-Date: 2015-12-10 14:22+0000\n"
-"Last-Translator: Communia <ameaneantie(a)riseup.net>\n"
+"POT-Creation-Date: 2016-01-03 20:54+0100\n"
+"PO-Revision-Date: 2016-01-20 10:12+0000\n"
+"Last-Translator: Matheus Boni Vicari <matheus_boni_vicari(a)hotmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/torproject/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,167 +25,171 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: mat-gui:62 mat-gui:407 mat-gui:430
+#: mat-gui:66 mat-gui:422 mat-gui:445
msgid "Ready"
msgstr "Pronto"
-#: mat-gui:129
+#: mat-gui:136
msgid "Choose files"
msgstr "Escolher arquivos"
-#: mat-gui:137
-msgid "All files"
-msgstr "Todos os arquivos"
-
-#: mat-gui:143
+#: mat-gui:144
msgid "Supported files"
msgstr "Formatos de arquivo que possuem suporte"
-#: mat-gui:160 mat-gui:353 mat-gui:402 mat-gui:426 mat-gui:428
-#: data/mat.glade:172
+#: mat-gui:151
+msgid "All files"
+msgstr "Todos os arquivos"
+
+#: mat-gui:167 mat-gui:366 mat-gui:417 mat-gui:441 mat-gui:443
+#: data/mat.glade:200
msgid "Clean"
msgstr "Limpar"
-#: mat-gui:161
+#: mat-gui:168
msgid "No metadata found"
msgstr "Nenhum metadado foi encontrado"
-#: mat-gui:163 mat-gui:404
+#: mat-gui:170 mat-gui:419
msgid "Dirty"
msgstr "Sujo"
-#: mat-gui:168
+#: mat-gui:176
#, python-format
msgid "%s's metadata"
msgstr "%s's Metadados"
-#: mat-gui:179
+#: mat-gui:187
msgid "Trash your meta, keep your data"
msgstr "Descarte os seus 'meta', guarde os seus dados"
-#: mat-gui:184
+#: mat-gui:192
msgid "Website"
msgstr "Website"
-#: mat-gui:210
+#: mat-gui:219
msgid "Preferences"
msgstr "Preferências"
-#: mat-gui:223
+#: mat-gui:232
msgid "Reduce PDF quality"
msgstr "Reduzir a qualidade do PDF"
-#: mat-gui:226
+#: mat-gui:235
msgid "Reduce the produced PDF size and quality"
msgstr "Reduzir o tamanho e a qualidade do PDF produzido"
-#: mat-gui:229
+#: mat-gui:238
msgid "Add unsupported file to archives"
msgstr "Guardar arquivos que não possuam suporte "
-#: mat-gui:232
+#: mat-gui:241
msgid "Add non-supported (and so non-anonymised) file to output archive"
msgstr "Guardar arquivo que não possua suporte (e não-anônimo) no arquivo de saída"
-#: mat-gui:271
+#: mat-gui:280
msgid "Unknown"
msgstr "Desconhecido"
-#: mat-gui:314
+#: mat-gui:325
msgid "Not-supported"
msgstr "Não possui suporte"
-#: mat-gui:328
+#: mat-gui:339
msgid "Harmless fileformat"
msgstr "Formato de arquivo inofensivo"
-#: mat-gui:330
+#: mat-gui:341
+msgid "Cant read file"
+msgstr "Impossível ler arquivo"
+
+#: mat-gui:343
msgid "Fileformat not supported"
msgstr " Esse formato de arquivo não possui suporte"
-#: mat-gui:333
+#: mat-gui:346
msgid "These files can not be processed:"
msgstr "Estes arquivos não podem ser processados:"
-#: mat-gui:338 mat-gui:367 data/mat.glade:211
+#: mat-gui:351 mat-gui:380 data/mat.glade:239
msgid "Filename"
msgstr "Nome do arquivo"
-#: mat-gui:340
+#: mat-gui:353
msgid "Reason"
msgstr "Razão"
-#: mat-gui:352
+#: mat-gui:365
msgid "Non-supported files in archive"
msgstr "Arquivos que não possuem suporte no arquivo"
-#: mat-gui:366
+#: mat-gui:379
msgid "Include"
msgstr "Incluir"
-#: mat-gui:382
+#: mat-gui:397
#, python-format
msgid "MAT is not able to clean the following files, found in the %s archive"
msgstr "MAT não é capaz de limpar os seguintes arquivos encontrados no arquivo %s"
-#: mat-gui:398
+#: mat-gui:413
#, python-format
msgid "Checking %s"
msgstr "Verificando %s"
-#: mat-gui:413
+#: mat-gui:428
#, python-format
msgid "Cleaning %s"
msgstr "Limpando %s"
-#: data/mat.glade:33
+#: data/mat.glade:46
msgid "_File"
msgstr "_Arquivo"
-#: data/mat.glade:82
+#: data/mat.glade:95
msgid "_Edit"
msgstr "_Editar"
-#: data/mat.glade:115
+#: data/mat.glade:141
msgid "_Help"
msgstr "_Ajuda"
-#: data/mat.glade:159
+#: data/mat.glade:187
msgid "Add"
msgstr "Adicionar"
-#: data/mat.glade:228
+#: data/mat.glade:256
msgid "State"
msgstr "Estado"
-#: data/mat.glade:274 data/mat.glade:417
+#: data/mat.glade:294 data/mat.glade:467
msgid "Metadata"
msgstr "Metadados"
-#: data/mat.glade:306
+#: data/mat.glade:354
msgid "Name"
msgstr "Nome"
-#: data/mat.glade:320
+#: data/mat.glade:368
msgid "Content"
msgstr "Conteúdo"
-#: data/mat.glade:374
+#: data/mat.glade:398
msgid "Supported formats"
msgstr "Formatos que possuem suporte"
-#: data/mat.glade:406
+#: data/mat.glade:456
msgid "Support"
msgstr "Assistência"
-#: data/mat.glade:428
+#: data/mat.glade:478
msgid "Method"
msgstr "Método"
-#: data/mat.glade:439
+#: data/mat.glade:489
msgid "Remaining"
msgstr "Restante"
-#: data/mat.glade:468
+#: data/mat.glade:518
msgid "Fileformat"
msgstr "Formato de arquivo"
1
0
20 Jan '16
commit 48ebc1bf60640d505845a6a41cbc19d5a2a3b917
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:16:05 2016 +0000
Update translations for mat-gui
---
pt_BR.po | 129 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 65 insertions(+), 64 deletions(-)
diff --git a/pt_BR.po b/pt_BR.po
index 6546bde..3764e8f 100644
--- a/pt_BR.po
+++ b/pt_BR.po
@@ -10,13 +10,14 @@
# Eduardo Luis Voltolini Tafner, 2013
# Marcos Ortiz <marcosortizf(a)gmail.com>, 2013
# Marcus Vinicius Lemes de Oliveira <mlemes(a)live.com>, 2015
+# Matheus Boni Vicari <matheus_boni_vicari(a)hotmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-12-16 15:03+0100\n"
-"PO-Revision-Date: 2015-12-17 09:29+0000\n"
-"Last-Translator: carolyn <carolyn(a)anhalt.org>\n"
+"POT-Creation-Date: 2016-01-03 20:54+0100\n"
+"PO-Revision-Date: 2016-01-20 10:12+0000\n"
+"Last-Translator: Matheus Boni Vicari <matheus_boni_vicari(a)hotmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/otf/torproject/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,171 +25,171 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: mat-gui:64 mat-gui:415 mat-gui:438
+#: mat-gui:66 mat-gui:422 mat-gui:445
msgid "Ready"
msgstr "Pronto"
-#: mat-gui:133
+#: mat-gui:136
msgid "Choose files"
msgstr "Escolher arquivos"
-#: mat-gui:141
-msgid "All files"
-msgstr "Todos os arquivos"
-
-#: mat-gui:147
+#: mat-gui:144
msgid "Supported files"
msgstr "Formatos de arquivo que possuem suporte"
-#: mat-gui:164 mat-gui:359 mat-gui:410 mat-gui:434 mat-gui:436
-#: data/mat.glade:480
+#: mat-gui:151
+msgid "All files"
+msgstr "Todos os arquivos"
+
+#: mat-gui:167 mat-gui:366 mat-gui:417 mat-gui:441 mat-gui:443
+#: data/mat.glade:200
msgid "Clean"
msgstr "Limpar"
-#: mat-gui:165
+#: mat-gui:168
msgid "No metadata found"
msgstr "Nenhum metadado foi encontrado"
-#: mat-gui:167 mat-gui:412
+#: mat-gui:170 mat-gui:419
msgid "Dirty"
msgstr "Sujo"
-#: mat-gui:172
+#: mat-gui:176
#, python-format
msgid "%s's metadata"
msgstr "%s's Metadados"
-#: mat-gui:183
+#: mat-gui:187
msgid "Trash your meta, keep your data"
msgstr "Descarte os seus 'meta', guarde os seus dados"
-#: mat-gui:188
+#: mat-gui:192
msgid "Website"
msgstr "Website"
-#: mat-gui:214
+#: mat-gui:219
msgid "Preferences"
msgstr "Preferências"
-#: mat-gui:227
+#: mat-gui:232
msgid "Reduce PDF quality"
msgstr "Reduzir a qualidade do PDF"
-#: mat-gui:230
+#: mat-gui:235
msgid "Reduce the produced PDF size and quality"
msgstr "Reduzir o tamanho e a qualidade do PDF produzido"
-#: mat-gui:233
+#: mat-gui:238
msgid "Add unsupported file to archives"
msgstr "Guardar arquivos que não possuam suporte "
-#: mat-gui:236
+#: mat-gui:241
msgid "Add non-supported (and so non-anonymised) file to output archive"
msgstr "Guardar arquivo que não possua suporte (e não-anônimo) no arquivo de saída"
-#: mat-gui:275
+#: mat-gui:280
msgid "Unknown"
msgstr "Desconhecido"
-#: mat-gui:318
+#: mat-gui:325
msgid "Not-supported"
msgstr "Não possui suporte"
-#: mat-gui:332
+#: mat-gui:339
msgid "Harmless fileformat"
msgstr "Formato de arquivo inofensivo"
-#: mat-gui:334
+#: mat-gui:341
msgid "Cant read file"
-msgstr ""
+msgstr "Impossível ler arquivo"
-#: mat-gui:336
+#: mat-gui:343
msgid "Fileformat not supported"
msgstr " Esse formato de arquivo não possui suporte"
-#: mat-gui:339
+#: mat-gui:346
msgid "These files can not be processed:"
msgstr "Estes arquivos não podem ser processados:"
-#: mat-gui:344 mat-gui:373 data/mat.glade:519
+#: mat-gui:351 mat-gui:380 data/mat.glade:239
msgid "Filename"
msgstr "Nome do arquivo"
-#: mat-gui:346
+#: mat-gui:353
msgid "Reason"
msgstr "Razão"
-#: mat-gui:358
+#: mat-gui:365
msgid "Non-supported files in archive"
msgstr "Arquivos que não possuem suporte no arquivo"
-#: mat-gui:372
+#: mat-gui:379
msgid "Include"
msgstr "Incluir"
-#: mat-gui:390
+#: mat-gui:397
#, python-format
msgid "MAT is not able to clean the following files, found in the %s archive"
msgstr "MAT não é capaz de limpar os seguintes arquivos encontrados no arquivo %s"
-#: mat-gui:406
+#: mat-gui:413
#, python-format
msgid "Checking %s"
msgstr "Verificando %s"
-#: mat-gui:421
+#: mat-gui:428
#, python-format
msgid "Cleaning %s"
msgstr "Limpando %s"
-#: data/mat.glade:26 data/mat.glade:196
+#: data/mat.glade:46
+msgid "_File"
+msgstr "_Arquivo"
+
+#: data/mat.glade:95
+msgid "_Edit"
+msgstr "_Editar"
+
+#: data/mat.glade:141
+msgid "_Help"
+msgstr "_Ajuda"
+
+#: data/mat.glade:187
+msgid "Add"
+msgstr "Adicionar"
+
+#: data/mat.glade:256
+msgid "State"
+msgstr "Estado"
+
+#: data/mat.glade:294 data/mat.glade:467
msgid "Metadata"
msgstr "Metadados"
-#: data/mat.glade:85
+#: data/mat.glade:354
msgid "Name"
msgstr "Nome"
-#: data/mat.glade:99
+#: data/mat.glade:368
msgid "Content"
msgstr "Conteúdo"
-#: data/mat.glade:129
+#: data/mat.glade:398
msgid "Supported formats"
msgstr "Formatos que possuem suporte"
-#: data/mat.glade:185
+#: data/mat.glade:456
msgid "Support"
msgstr "Assistência"
-#: data/mat.glade:207
+#: data/mat.glade:478
msgid "Method"
msgstr "Método"
-#: data/mat.glade:218
+#: data/mat.glade:489
msgid "Remaining"
msgstr "Restante"
-#: data/mat.glade:247
+#: data/mat.glade:518
msgid "Fileformat"
msgstr "Formato de arquivo"
-
-#: data/mat.glade:326
-msgid "_File"
-msgstr "_Arquivo"
-
-#: data/mat.glade:375
-msgid "_Edit"
-msgstr "_Editar"
-
-#: data/mat.glade:421
-msgid "_Help"
-msgstr "_Ajuda"
-
-#: data/mat.glade:467
-msgid "Add"
-msgstr "Adicionar"
-
-#: data/mat.glade:536
-msgid "State"
-msgstr "Estado"
1
0
[translation/https_everywhere_completed] Update translations for https_everywhere_completed
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit 05fabb1ea67aa4a67e89a1cac40fc486e1a913f2
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:15:41 2016 +0000
Update translations for https_everywhere_completed
---
pt_BR/https-everywhere.dtd | 3 +++
1 file changed, 3 insertions(+)
diff --git a/pt_BR/https-everywhere.dtd b/pt_BR/https-everywhere.dtd
index 425949b..ad57744 100644
--- a/pt_BR/https-everywhere.dtd
+++ b/pt_BR/https-everywhere.dtd
@@ -3,8 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "Criptografar a Web! Use automaticamente a segurança HTTPS em diversos sites.">
<!ENTITY https-everywhere.about.version "Versão">
<!ENTITY https-everywhere.about.created_by "Criado por">
+<!ENTITY https-everywhere.about.and ", e">
<!ENTITY https-everywhere.about.librarians "Biblioteca de Conjunto de Regras">
<!ENTITY https-everywhere.about.thanks "Obrigado a">
+<!ENTITY https-everywhere.about.many_contributors "Muitos contribuidores, incluindo">
+<!ENTITY https-everywhere.about.noscript "Também, porções do HTTPS Everywhere são baseadas no código do NoScript de Giorgio Maone e outros. Nós somos gratos pelo trabalho excelente que eles fizeram!">
<!ENTITY https-everywhere.about.contribute "Se você gostar do HTTPS Everywhere, considere">
<!ENTITY https-everywhere.about.donate_tor "Fazer uma doação para o Tor">
<!ENTITY https-everywhere.about.tor_lang_code "pt_BR">
1
0
[translation/https_everywhere] Update translations for https_everywhere
by translation@torproject.org 20 Jan '16
by translation@torproject.org 20 Jan '16
20 Jan '16
commit b9b43dcfacc6d837c81c1d37e77ee5b9bc387502
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jan 20 10:15:18 2016 +0000
Update translations for https_everywhere
---
pt_BR/https-everywhere.dtd | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pt_BR/https-everywhere.dtd b/pt_BR/https-everywhere.dtd
index 38d0b21..ad57744 100644
--- a/pt_BR/https-everywhere.dtd
+++ b/pt_BR/https-everywhere.dtd
@@ -3,11 +3,11 @@
<!ENTITY https-everywhere.about.ext_description "Criptografar a Web! Use automaticamente a segurança HTTPS em diversos sites.">
<!ENTITY https-everywhere.about.version "Versão">
<!ENTITY https-everywhere.about.created_by "Criado por">
-<!ENTITY https-everywhere.about.and ", and">
+<!ENTITY https-everywhere.about.and ", e">
<!ENTITY https-everywhere.about.librarians "Biblioteca de Conjunto de Regras">
<!ENTITY https-everywhere.about.thanks "Obrigado a">
-<!ENTITY https-everywhere.about.many_contributors "Many many contributors, including">
-<!ENTITY https-everywhere.about.noscript "Also, portions of HTTPS Everywhere are based on code from NoScript, by Giorgio Maone and others. We are grateful for their excellent work!">
+<!ENTITY https-everywhere.about.many_contributors "Muitos contribuidores, incluindo">
+<!ENTITY https-everywhere.about.noscript "Também, porções do HTTPS Everywhere são baseadas no código do NoScript de Giorgio Maone e outros. Nós somos gratos pelo trabalho excelente que eles fizeram!">
<!ENTITY https-everywhere.about.contribute "Se você gostar do HTTPS Everywhere, considere">
<!ENTITY https-everywhere.about.donate_tor "Fazer uma doação para o Tor">
<!ENTITY https-everywhere.about.tor_lang_code "pt_BR">
1
0
[metrics-web/master] Wrap form input elements in label elements.
by karsten@torproject.org 20 Jan '16
by karsten@torproject.org 20 Jan '16
20 Jan '16
commit 7690f8a5e408c781c4b984635ea40ceadd01367d
Author: David Fifield <david(a)bamsoftware.com>
Date: Wed Jan 20 00:26:39 2016 -0800
Wrap form input elements in label elements.
Putting an input element inside a label element along with its text
label means that you can click on the text to activate the input
element. In some cases this does not change behavior much; e.g. you can
click on "Start date:" to focus the corresponding input field. But it
makes a big difference for checkboxes: you can click anywhere on the
text to toggle the checkbox.
---
website/web/WEB-INF/advbwdist-perc.jsp | 54 ++++++++++----------
website/web/WEB-INF/advbwdist-relay.jsp | 40 +++++++--------
website/web/WEB-INF/bandwidth-flags.jsp | 8 +--
website/web/WEB-INF/bandwidth.jsp | 8 +--
website/web/WEB-INF/bwhist-flags.jsp | 8 +--
website/web/WEB-INF/cloudbridges.jsp | 8 +--
website/web/WEB-INF/connbidirect.jsp | 8 +--
website/web/WEB-INF/dirbytes.jsp | 8 +--
website/web/WEB-INF/hidserv-dir-onions-seen.jsp | 8 +--
website/web/WEB-INF/hidserv-frac-reporting.jsp | 8 +--
website/web/WEB-INF/hidserv-rend-relayed-cells.jsp | 8 +--
website/web/WEB-INF/index.jsp | 16 +++---
website/web/WEB-INF/networksize.jsp | 8 +--
website/web/WEB-INF/platforms.jsp | 8 +--
website/web/WEB-INF/relayflags.jsp | 20 ++++----
website/web/WEB-INF/torperf-failures.jsp | 16 +++---
website/web/WEB-INF/torperf.jsp | 22 ++++----
website/web/WEB-INF/userstats-bridge-country.jsp | 12 ++---
website/web/WEB-INF/userstats-bridge-table.jsp | 8 +--
website/web/WEB-INF/userstats-bridge-transport.jsp | 28 +++++-----
website/web/WEB-INF/userstats-bridge-version.jsp | 12 ++---
.../web/WEB-INF/userstats-censorship-events.jsp | 8 +--
website/web/WEB-INF/userstats-relay-country.jsp | 16 +++---
website/web/WEB-INF/userstats-relay-table.jsp | 8 +--
website/web/WEB-INF/versions.jsp | 8 +--
25 files changed, 178 insertions(+), 178 deletions(-)
diff --git a/website/web/WEB-INF/advbwdist-perc.jsp b/website/web/WEB-INF/advbwdist-perc.jsp
index 8532019..5a0dc57 100644
--- a/website/web/WEB-INF/advbwdist-perc.jsp
+++ b/website/web/WEB-INF/advbwdist-perc.jsp
@@ -34,37 +34,37 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="advbwdist-perc">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(advbwdist_perc_start) == 0}">${default_start_date}</c:when><c:otherwise>${advbwdist_perc_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(advbwdist_perc_start) == 0}">${default_start_date}</c:when><c:otherwise>${advbwdist_perc_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(advbwdist_perc_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_perc_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(advbwdist_perc_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_perc_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>Percentiles: </label>
- <input type="checkbox" name="p" value="100"<c:if test="${fn:length(advbwdist_perc_p) == 0 or fn:contains(fn:join(advbwdist_perc_p, ','), '100')}"> checked</c:if>> 100 (maximum)
- <input type="checkbox" name="p" value="99"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '99')}"> checked</c:if>> 99
- <input type="checkbox" name="p" value="98"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '98')}"> checked</c:if>> 98
- <input type="checkbox" name="p" value="97"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '97')}"> checked</c:if>> 97
- <input type="checkbox" name="p" value="95"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '95')}"> checked</c:if>> 95
- <input type="checkbox" name="p" value="91"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '91')}"> checked</c:if>> 91
- <input type="checkbox" name="p" value="90"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '90')}"> checked</c:if>> 90
- <input type="checkbox" name="p" value="80"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '80')}"> checked</c:if>> 80
- <input type="checkbox" name="p" value="75"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '75')}"> checked</c:if>> 75 (3rd quartile)
- <input type="checkbox" name="p" value="70"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '70')}"> checked</c:if>> 70
- <input type="checkbox" name="p" value="60"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '60')}"> checked</c:if>> 60
- <input type="checkbox" name="p" value="50"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '50')}"> checked</c:if>> 50 (median)
- <input type="checkbox" name="p" value="40"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '40')}"> checked</c:if>> 40
- <input type="checkbox" name="p" value="30"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '30')}"> checked</c:if>> 30
- <input type="checkbox" name="p" value="25"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '25')}"> checked</c:if>> 25 (first quartile)
- <input type="checkbox" name="p" value="20"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '20')}"> checked</c:if>> 20
- <input type="checkbox" name="p" value="10"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '10,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',10,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',10') or (advbwdist_perc_p[0] == '10' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 10
- <input type="checkbox" name="p" value="9"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '9,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',9,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',9') or (advbwdist_perc_p[0] == '9' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 9
- <input type="checkbox" name="p" value="5"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '5,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',5,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',5') or (advbwdist_perc_p[0] == '5' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 5
- <input type="checkbox" name="p" value="3"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '3,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',3,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',3') or (advbwdist_perc_p[0] == '3' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 3
- <input type="checkbox" name="p" value="2"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '2,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',2,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',2') or (advbwdist_perc_p[0] == '2' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 2
- <input type="checkbox" name="p" value="1"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '1,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',1,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',1') or (advbwdist_perc_p[0] == '1' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 1
- <input type="checkbox" name="p" value="0"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '0,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',0,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',0') or (advbwdist_perc_p[0] == '0' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 0 (minimum)
+ <label><input type="checkbox" name="p" value="100"<c:if test="${fn:length(advbwdist_perc_p) == 0 or fn:contains(fn:join(advbwdist_perc_p, ','), '100')}"> checked</c:if>> 100 (maximum)</label>
+ <label><input type="checkbox" name="p" value="99"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '99')}"> checked</c:if>> 99</label>
+ <label><input type="checkbox" name="p" value="98"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '98')}"> checked</c:if>> 98</label>
+ <label><input type="checkbox" name="p" value="97"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '97')}"> checked</c:if>> 97</label>
+ <label><input type="checkbox" name="p" value="95"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '95')}"> checked</c:if>> 95</label>
+ <label><input type="checkbox" name="p" value="91"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '91')}"> checked</c:if>> 91</label>
+ <label><input type="checkbox" name="p" value="90"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '90')}"> checked</c:if>> 90</label>
+ <label><input type="checkbox" name="p" value="80"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '80')}"> checked</c:if>> 80</label>
+ <label><input type="checkbox" name="p" value="75"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '75')}"> checked</c:if>> 75 (3rd quartile)</label>
+ <label><input type="checkbox" name="p" value="70"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '70')}"> checked</c:if>> 70</label>
+ <label><input type="checkbox" name="p" value="60"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '60')}"> checked</c:if>> 60</label>
+ <label><input type="checkbox" name="p" value="50"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '50')}"> checked</c:if>> 50 (median)</label>
+ <label><input type="checkbox" name="p" value="40"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '40')}"> checked</c:if>> 40</label>
+ <label><input type="checkbox" name="p" value="30"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '30')}"> checked</c:if>> 30</label>
+ <label><input type="checkbox" name="p" value="25"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '25')}"> checked</c:if>> 25 (first quartile)</label>
+ <label><input type="checkbox" name="p" value="20"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '20')}"> checked</c:if>> 20</label>
+ <label><input type="checkbox" name="p" value="10"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '10,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',10,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',10') or (advbwdist_perc_p[0] == '10' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 10</label>
+ <label><input type="checkbox" name="p" value="9"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '9,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',9,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',9') or (advbwdist_perc_p[0] == '9' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 9</label>
+ <label><input type="checkbox" name="p" value="5"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '5,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',5,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',5') or (advbwdist_perc_p[0] == '5' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 5</label>
+ <label><input type="checkbox" name="p" value="3"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '3,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',3,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',3') or (advbwdist_perc_p[0] == '3' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 3</label>
+ <label><input type="checkbox" name="p" value="2"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '2,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',2,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',2') or (advbwdist_perc_p[0] == '2' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 2</label>
+ <label><input type="checkbox" name="p" value="1"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '1,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',1,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',1') or (advbwdist_perc_p[0] == '1' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 1</label>
+ <label><input type="checkbox" name="p" value="0"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '0,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',0,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',0') or (advbwdist_perc_p[0] == '0' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 0 (minimum)</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/advbwdist-relay.jsp b/website/web/WEB-INF/advbwdist-relay.jsp
index b3de6c5..0a42dac 100644
--- a/website/web/WEB-INF/advbwdist-relay.jsp
+++ b/website/web/WEB-INF/advbwdist-relay.jsp
@@ -28,30 +28,30 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="advbwdist-relay">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(advbwdist_relay_start) == 0}">${default_start_date}</c:when><c:otherwise>${advbwdist_relay_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(advbwdist_relay_start) == 0}">${default_start_date}</c:when><c:otherwise>${advbwdist_relay_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(advbwdist_relay_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_relay_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(advbwdist_relay_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_relay_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>n-th fastest relays: </label>
- <input type="checkbox" name="n" value="1"<c:if test="${fn:length(advbwdist_relay_n) == 0 or fn:contains(fn:join(advbwdist_relay_n, ','), '1,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '1')}"> checked</c:if>> 1
- <input type="checkbox" name="n" value="2"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '2,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '2'))}"> checked</c:if>> 2
- <input type="checkbox" name="n" value="3"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '3,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '3'))}"> checked</c:if>> 3
- <input type="checkbox" name="n" value="5"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '5,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '5'))}"> checked</c:if>> 5
- <input type="checkbox" name="n" value="10"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '10,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '10'))}"> checked</c:if>> 10
- <input type="checkbox" name="n" value="20"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '20,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '20'))}"> checked</c:if>> 20
- <input type="checkbox" name="n" value="30"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '30,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '30'))}"> checked</c:if>> 30
- <input type="checkbox" name="n" value="50"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '50,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '50'))}"> checked</c:if>> 50
- <input type="checkbox" name="n" value="100"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '100,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '100'))}"> checked</c:if>> 100
- <input type="checkbox" name="n" value="200"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '200,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '200'))}"> checked</c:if>> 200
- <input type="checkbox" name="n" value="300"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '300,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '300'))}"> checked</c:if>> 300
- <input type="checkbox" name="n" value="500"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '500,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '500'))}"> checked</c:if>> 500
- <input type="checkbox" name="n" value="1000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '1000')}"> checked</c:if>> 1000
- <input type="checkbox" name="n" value="2000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '2000')}"> checked</c:if>> 2000
- <input type="checkbox" name="n" value="3000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '3000')}"> checked</c:if>> 3000
- <input type="checkbox" name="n" value="5000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '5000')}"> checked</c:if>> 5000
+ <label><input type="checkbox" name="n" value="1"<c:if test="${fn:length(advbwdist_relay_n) == 0 or fn:contains(fn:join(advbwdist_relay_n, ','), '1,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '1')}"> checked</c:if>> 1</label>
+ <label><input type="checkbox" name="n" value="2"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '2,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '2'))}"> checked</c:if>> 2</label>
+ <label><input type="checkbox" name="n" value="3"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '3,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '3'))}"> checked</c:if>> 3</label>
+ <label><input type="checkbox" name="n" value="5"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '5,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '5'))}"> checked</c:if>> 5</label>
+ <label><input type="checkbox" name="n" value="10"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '10,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '10'))}"> checked</c:if>> 10</label>
+ <label><input type="checkbox" name="n" value="20"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '20,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '20'))}"> checked</c:if>> 20</label>
+ <label><input type="checkbox" name="n" value="30"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '30,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '30'))}"> checked</c:if>> 30</label>
+ <label><input type="checkbox" name="n" value="50"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '50,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '50'))}"> checked</c:if>> 50</label>
+ <label><input type="checkbox" name="n" value="100"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '100,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '100'))}"> checked</c:if>> 100</label>
+ <label><input type="checkbox" name="n" value="200"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '200,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '200'))}"> checked</c:if>> 200</label>
+ <label><input type="checkbox" name="n" value="300"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '300,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '300'))}"> checked</c:if>> 300</label>
+ <label><input type="checkbox" name="n" value="500"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '500,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '500'))}"> checked</c:if>> 500</label>
+ <label><input type="checkbox" name="n" value="1000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '1000')}"> checked</c:if>> 1000</label>
+ <label><input type="checkbox" name="n" value="2000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '2000')}"> checked</c:if>> 2000</label>
+ <label><input type="checkbox" name="n" value="3000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '3000')}"> checked</c:if>> 3000</label>
+ <label><input type="checkbox" name="n" value="5000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '5000')}"> checked</c:if>> 5000</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/bandwidth-flags.jsp b/website/web/WEB-INF/bandwidth-flags.jsp
index ca1905c..fb7a9db 100644
--- a/website/web/WEB-INF/bandwidth-flags.jsp
+++ b/website/web/WEB-INF/bandwidth-flags.jsp
@@ -31,12 +31,12 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="bandwidth-flags">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(bandwidth_flags_start) == 0}">${default_start_date}</c:when><c:otherwise>${bandwidth_flags_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(bandwidth_flags_start) == 0}">${default_start_date}</c:when><c:otherwise>${bandwidth_flags_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(bandwidth_flags_end) == 0}">${default_end_date}</c:when><c:otherwise>${bandwidth_flags_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(bandwidth_flags_end) == 0}">${default_end_date}</c:when><c:otherwise>${bandwidth_flags_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/bandwidth.jsp b/website/web/WEB-INF/bandwidth.jsp
index 59acef6..5c26144 100644
--- a/website/web/WEB-INF/bandwidth.jsp
+++ b/website/web/WEB-INF/bandwidth.jsp
@@ -28,12 +28,12 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="bandwidth">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(bandwidth_start) == 0}">${default_start_date}</c:when><c:otherwise>${bandwidth_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(bandwidth_start) == 0}">${default_start_date}</c:when><c:otherwise>${bandwidth_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(bandwidth_end) == 0}">${default_end_date}</c:when><c:otherwise>${bandwidth_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(bandwidth_end) == 0}">${default_end_date}</c:when><c:otherwise>${bandwidth_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/bwhist-flags.jsp b/website/web/WEB-INF/bwhist-flags.jsp
index 26b38cd..930f470 100644
--- a/website/web/WEB-INF/bwhist-flags.jsp
+++ b/website/web/WEB-INF/bwhist-flags.jsp
@@ -28,12 +28,12 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="bwhist-flags">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(bwhist_flags_start) == 0}">${default_start_date}</c:when><c:otherwise>${bwhist_flags_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(bwhist_flags_start) == 0}">${default_start_date}</c:when><c:otherwise>${bwhist_flags_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(bwhist_flags_end) == 0}">${default_end_date}</c:when><c:otherwise>${bwhist_flags_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(bwhist_flags_end) == 0}">${default_end_date}</c:when><c:otherwise>${bwhist_flags_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/cloudbridges.jsp b/website/web/WEB-INF/cloudbridges.jsp
index 73516c5..6535efc 100644
--- a/website/web/WEB-INF/cloudbridges.jsp
+++ b/website/web/WEB-INF/cloudbridges.jsp
@@ -29,12 +29,12 @@ which bridge operators usually leave unchanged.</p>
<div class="formrow">
<input type="hidden" name="graph" value="cloudbridges">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(cloudbridges_start) == 0}">${default_start_date}</c:when><c:otherwise>${cloudbridges_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(cloudbridges_start) == 0}">${default_start_date}</c:when><c:otherwise>${cloudbridges_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(cloudbridges_end) == 0}">${default_end_date}</c:when><c:otherwise>${cloudbridges_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(cloudbridges_end) == 0}">${default_end_date}</c:when><c:otherwise>${cloudbridges_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/connbidirect.jsp b/website/web/WEB-INF/connbidirect.jsp
index 958642c..326a949 100644
--- a/website/web/WEB-INF/connbidirect.jsp
+++ b/website/web/WEB-INF/connbidirect.jsp
@@ -37,12 +37,12 @@ fractions.</p>
<div class="formrow">
<input type="hidden" name="graph" value="connbidirect">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(connbidirect_start) == 0}">${default_start_date}</c:when><c:otherwise>${connbidirect_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(connbidirect_start) == 0}">${default_start_date}</c:when><c:otherwise>${connbidirect_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(connbidirect_end) == 0}">${default_end_date}</c:when><c:otherwise>${connbidirect_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(connbidirect_end) == 0}">${default_end_date}</c:when><c:otherwise>${connbidirect_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/dirbytes.jsp b/website/web/WEB-INF/dirbytes.jsp
index 95fef8b..7afead8 100644
--- a/website/web/WEB-INF/dirbytes.jsp
+++ b/website/web/WEB-INF/dirbytes.jsp
@@ -32,12 +32,12 @@ Gbit/s.</font></p>
<div class="formrow">
<input type="hidden" name="graph" value="dirbytes">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(dirbytes_start) == 0}">${default_start_date}</c:when><c:otherwise>${dirbytes_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(dirbytes_start) == 0}">${default_start_date}</c:when><c:otherwise>${dirbytes_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(dirbytes_end) == 0}">${default_end_date}</c:when><c:otherwise>${dirbytes_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(dirbytes_end) == 0}">${default_end_date}</c:when><c:otherwise>${dirbytes_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
index 95eaa79..0223d5f 100644
--- a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
+++ b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
@@ -34,12 +34,12 @@ technical report</a>.</p>
<div class="formrow">
<input type="hidden" name="graph" value="hidserv-dir-onions-seen">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/hidserv-frac-reporting.jsp b/website/web/WEB-INF/hidserv-frac-reporting.jsp
index 2bb6e80..7229c87 100644
--- a/website/web/WEB-INF/hidserv-frac-reporting.jsp
+++ b/website/web/WEB-INF/hidserv-frac-reporting.jsp
@@ -33,12 +33,12 @@ technical report</a>.</p>
<div class="formrow">
<input type="hidden" name="graph" value="hidserv-frac-reporting">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_frac_reporting_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_frac_reporting_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_frac_reporting_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_frac_reporting_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
index 4a24b05..a8d3b97 100644
--- a/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
+++ b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
@@ -35,12 +35,12 @@ technical report</a>.</p>
<div class="formrow">
<input type="hidden" name="graph" value="hidserv-rend-relayed-cells">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/index.jsp b/website/web/WEB-INF/index.jsp
index 5d77601..f2b9c3f 100644
--- a/website/web/WEB-INF/index.jsp
+++ b/website/web/WEB-INF/index.jsp
@@ -27,27 +27,27 @@
<div style="border:1px solid gray;border-radius:10px;padding:10px;float:left;overflow:hidden;margin-right:20px;">
<form action="/">
<p>
-<label for="tag"><b>Tags</b></label><br>
+<b>Tags</b><br>
<c:forEach var="row" items="${tags}">
-<input name="tag" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+<label><input name="tag" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</label></br>
</c:forEach>
</p>
<p>
-<label for="type"><b>Type</b></label></br>
+<b>Type</b></br>
<c:forEach var="row" items="${types}">
-<input name="type" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+<label><input name="type" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</label></br>
</c:forEach>
</p>
<p>
-<label for="level"><b>Level</b></label></br>
+<b>Level</b></br>
<c:forEach var="row" items="${levels}">
-<input name="level" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+<label><input name="level" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</label></br>
</c:forEach>
</p>
<p>
-<label for="sort"><b>Order</b></label></br>
+<b>Order</b></br>
<c:forEach var="row" items="${order}">
-<input name="order" type="radio" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+<label><input name="order" type="radio" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</label></br>
</c:forEach>
</p>
<p>
diff --git a/website/web/WEB-INF/networksize.jsp b/website/web/WEB-INF/networksize.jsp
index 095d390..b0e297f 100644
--- a/website/web/WEB-INF/networksize.jsp
+++ b/website/web/WEB-INF/networksize.jsp
@@ -25,12 +25,12 @@
<div class="formrow">
<input type="hidden" name="graph" value="networksize">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(networksize_start) == 0}">${default_start_date}</c:when><c:otherwise>${networksize_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(networksize_start) == 0}">${default_start_date}</c:when><c:otherwise>${networksize_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(networksize_end) == 0}">${default_end_date}</c:when><c:otherwise>${networksize_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(networksize_end) == 0}">${default_end_date}</c:when><c:otherwise>${networksize_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/platforms.jsp b/website/web/WEB-INF/platforms.jsp
index 772af21..2aec5ae 100644
--- a/website/web/WEB-INF/platforms.jsp
+++ b/website/web/WEB-INF/platforms.jsp
@@ -26,12 +26,12 @@ network.</p>
<div class="formrow">
<input type="hidden" name="graph" value="platforms">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(platforms_start) == 0}">${default_start_date}</c:when><c:otherwise>${platforms_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(platforms_start) == 0}">${default_start_date}</c:when><c:otherwise>${platforms_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(platforms_end) == 0}">${default_end_date}</c:when><c:otherwise>${platforms_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(platforms_end) == 0}">${default_end_date}</c:when><c:otherwise>${platforms_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/relayflags.jsp b/website/web/WEB-INF/relayflags.jsp
index cb59302..cc7c06b 100644
--- a/website/web/WEB-INF/relayflags.jsp
+++ b/website/web/WEB-INF/relayflags.jsp
@@ -31,20 +31,20 @@ is considered a hidden service directory ("HSDir").</p>
<div class="formrow">
<input type="hidden" name="graph" value="relayflags">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(relayflags_start) == 0}">${default_start_date}</c:when><c:otherwise>${relayflags_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(relayflags_start) == 0}">${default_start_date}</c:when><c:otherwise>${relayflags_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(relayflags_end) == 0}">${default_end_date}</c:when><c:otherwise>${relayflags_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(relayflags_end) == 0}">${default_end_date}</c:when><c:otherwise>${relayflags_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>Relay flags: </label>
- <input type="checkbox" name="flag" value="Running"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Running')}"> checked</c:if>> Running
- <input type="checkbox" name="flag" value="Exit"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Exit')}"> checked</c:if>> Exit
- <input type="checkbox" name="flag" value="Fast"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Fast')}"> checked</c:if>> Fast
- <input type="checkbox" name="flag" value="Guard"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Guard')}"> checked</c:if>> Guard
- <input type="checkbox" name="flag" value="Stable"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Stable')}"> checked</c:if>> Stable
- <input type="checkbox" name="flag" value="HSDir"<c:if test="${fn:length(relayflags_flag) > 0 and fn:contains(fn:join(relayflags_flag, ','), 'HSDir')}"> checked</c:if>> HSDir
+ <label><input type="checkbox" name="flag" value="Running"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Running')}"> checked</c:if>> Running</label>
+ <label><input type="checkbox" name="flag" value="Exit"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Exit')}"> checked</c:if>> Exit</label>
+ <label><input type="checkbox" name="flag" value="Fast"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Fast')}"> checked</c:if>> Fast</label>
+ <label><input type="checkbox" name="flag" value="Guard"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Guard')}"> checked</c:if>> Guard</label>
+ <label><input type="checkbox" name="flag" value="Stable"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Stable')}"> checked</c:if>> Stable</label>
+ <label><input type="checkbox" name="flag" value="HSDir"<c:if test="${fn:length(relayflags_flag) > 0 and fn:contains(fn:join(relayflags_flag, ','), 'HSDir')}"> checked</c:if>> HSDir</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/torperf-failures.jsp b/website/web/WEB-INF/torperf-failures.jsp
index 5619278..c41112d 100644
--- a/website/web/WEB-INF/torperf-failures.jsp
+++ b/website/web/WEB-INF/torperf-failures.jsp
@@ -28,18 +28,18 @@ than expected.</p>
<div class="formrow">
<input type="hidden" name="graph" value="torperf-failures">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(torperf_failures_start) == 0}">${default_start_date}</c:when><c:otherwise>${torperf_failures_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(torperf_failures_start) == 0}">${default_start_date}</c:when><c:otherwise>${torperf_failures_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(torperf_failures_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_failures_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(torperf_failures_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_failures_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
Source:
- <input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_failures_source) == 0 or torperf_failures_source[0] eq 'all'}"> checked</c:if>> all
- <input type="radio" name="source" value="torperf"<c:if test="${torperf_failures_source[0] eq 'torperf'}"> checked</c:if>> torperf
- <input type="radio" name="source" value="moria"<c:if test="${torperf_failures_source[0] eq 'moria'}"> checked</c:if>> moria
- <input type="radio" name="source" value="siv"<c:if test="${torperf_failures_source[0] eq 'siv'}"> checked</c:if>> siv
+ <label><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_failures_source) == 0 or torperf_failures_source[0] eq 'all'}"> checked</c:if>> all</label>
+ <label><input type="radio" name="source" value="torperf"<c:if test="${torperf_failures_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
+ <label><input type="radio" name="source" value="moria"<c:if test="${torperf_failures_source[0] eq 'moria'}"> checked</c:if>> moria</label>
+ <label><input type="radio" name="source" value="siv"<c:if test="${torperf_failures_source[0] eq 'siv'}"> checked</c:if>> siv</label>
</p><p>
<label>File size: </label>
<input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_failures_filesize) == 0 or torperf_failures_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB
diff --git a/website/web/WEB-INF/torperf.jsp b/website/web/WEB-INF/torperf.jsp
index 99f0635..79acb6a 100644
--- a/website/web/WEB-INF/torperf.jsp
+++ b/website/web/WEB-INF/torperf.jsp
@@ -27,23 +27,23 @@ graph.</p>
<div class="formrow">
<input type="hidden" name="graph" value="torperf">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(torperf_start) == 0}">${default_start_date}</c:when><c:otherwise>${torperf_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(torperf_start) == 0}">${default_start_date}</c:when><c:otherwise>${torperf_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(torperf_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(torperf_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
Source:
- <input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_source) == 0 or torperf_source[0] eq 'all'}"> checked</c:if>> all
- <input type="radio" name="source" value="torperf"<c:if test="${torperf_source[0] eq 'torperf'}"> checked</c:if>> torperf
- <input type="radio" name="source" value="moria"<c:if test="${torperf_source[0] eq 'moria'}"> checked</c:if>> moria
- <input type="radio" name="source" value="siv"<c:if test="${torperf_source[0] eq 'siv'}"> checked</c:if>> siv
+ <label><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_source) == 0 or torperf_source[0] eq 'all'}"> checked</c:if>> all</label>
+ <label><input type="radio" name="source" value="torperf"<c:if test="${torperf_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
+ <label><input type="radio" name="source" value="moria"<c:if test="${torperf_source[0] eq 'moria'}"> checked</c:if>> moria</label>
+ <label><input type="radio" name="source" value="siv"<c:if test="${torperf_source[0] eq 'siv'}"> checked</c:if>> siv</label>
</p><p>
<label>File size: </label>
- <input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_filesize) == 0 or torperf_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB
- <input type="radio" name="filesize" value="1mb"<c:if test="${torperf_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB
- <input type="radio" name="filesize" value="5mb"<c:if test="${torperf_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB
+ <label><input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_filesize) == 0 or torperf_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB</label>
+ <label><input type="radio" name="filesize" value="1mb"<c:if test="${torperf_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB</label>
+ <label><input type="radio" name="filesize" value="5mb"<c:if test="${torperf_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-bridge-country.jsp b/website/web/WEB-INF/userstats-bridge-country.jsp
index ce96b97..ccfdfd4 100644
--- a/website/web/WEB-INF/userstats-bridge-country.jsp
+++ b/website/web/WEB-INF/userstats-bridge-country.jsp
@@ -28,19 +28,19 @@ country codes, so that graphs are available for most countries.</p>
<div class="formrow">
<input type="hidden" name="graph" value="userstats-bridge-country">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_country_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_country_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_country_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_country_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_country_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_country_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_country_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_country_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
- Source: <select name="country">
+ <label>Source: <select name="country">
<option value="all"<c:if test="${userstats_bridge_country_country[0] eq 'all'}"> selected</c:if>>All users</option>
<c:forEach var="country" items="${countries}" >
<option value="${country[0]}"<c:if test="${userstats_bridge_country_country[0] eq country[0]}"> selected</c:if>>${country[1]}</option>
</c:forEach>
- </select>
+ </select></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-bridge-table.jsp b/website/web/WEB-INF/userstats-bridge-table.jsp
index ff7d6d8..d747def 100644
--- a/website/web/WEB-INF/userstats-bridge-table.jsp
+++ b/website/web/WEB-INF/userstats-bridge-table.jsp
@@ -26,12 +26,12 @@ country codes, so that numbers are available for most countries.</p>
<div class="formrow">
<input type="hidden" name="table" value="userstats-bridge">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update table">
</p>
diff --git a/website/web/WEB-INF/userstats-bridge-transport.jsp b/website/web/WEB-INF/userstats-bridge-transport.jsp
index c638cdf..aea35fe 100644
--- a/website/web/WEB-INF/userstats-bridge-transport.jsp
+++ b/website/web/WEB-INF/userstats-bridge-transport.jsp
@@ -29,24 +29,24 @@ so that graphs are available for different transports.</p>
<div class="formrow">
<input type="hidden" name="graph" value="userstats-bridge-transport">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_transport_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_transport_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_transport_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_transport_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_transport_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_transport_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_transport_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_transport_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>Source: </label>
- <input type="checkbox" name="transport" value="!<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) == 0 or fn:contains(fn:join(userstats_bridge_transport_transport, ','), '!<OR>')}"> checked</c:if>> Any pluggable transport
- <input type="checkbox" name="transport" value="obfs2"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs2')}"> checked</c:if>> obfs2
- <input type="checkbox" name="transport" value="obfs3"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs3')}"> checked</c:if>> obfs3
- <input type="checkbox" name="transport" value="obfs4"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs4')}"> checked</c:if>> obfs4
- <input type="checkbox" name="transport" value="websocket"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'websocket')}"> checked</c:if>> Flash proxy/websocket
- <input type="checkbox" name="transport" value="fte"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'fte')}"> checked</c:if>> FTE
- <input type="checkbox" name="transport" value="meek"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'meek')}"> checked</c:if>> meek
- <input type="checkbox" name="transport" value="scramblesuit"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'scramblesuit')}"> checked</c:if>> scramblesuit
- <input type="checkbox" name="transport" value="<??>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<??>')}"> checked</c:if>> Unknown pluggable transport(s)
- <input type="checkbox" name="transport" value="<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<OR>')}"> checked</c:if>> Default OR protocol
+ <label><input type="checkbox" name="transport" value="!<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) == 0 or fn:contains(fn:join(userstats_bridge_transport_transport, ','), '!<OR>')}"> checked</c:if>> Any pluggable transport</label>
+ <label><input type="checkbox" name="transport" value="obfs2"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs2')}"> checked</c:if>> obfs2</label>
+ <label><input type="checkbox" name="transport" value="obfs3"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs3')}"> checked</c:if>> obfs3</label>
+ <label><input type="checkbox" name="transport" value="obfs4"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs4')}"> checked</c:if>> obfs4</label>
+ <label><input type="checkbox" name="transport" value="websocket"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'websocket')}"> checked</c:if>> Flash proxy/websocket</label>
+ <label><input type="checkbox" name="transport" value="fte"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'fte')}"> checked</c:if>> FTE</label>
+ <label><input type="checkbox" name="transport" value="meek"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'meek')}"> checked</c:if>> meek</label>
+ <label><input type="checkbox" name="transport" value="scramblesuit"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'scramblesuit')}"> checked</c:if>> scramblesuit</label>
+ <label><input type="checkbox" name="transport" value="<??>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<??>')}"> checked</c:if>> Unknown pluggable transport(s)</label>
+ <label><input type="checkbox" name="transport" value="<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<OR>')}"> checked</c:if>> Default OR protocol</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-bridge-version.jsp b/website/web/WEB-INF/userstats-bridge-version.jsp
index d14d53b..7cab4aa 100644
--- a/website/web/WEB-INF/userstats-bridge-version.jsp
+++ b/website/web/WEB-INF/userstats-bridge-version.jsp
@@ -28,17 +28,17 @@ available for both IP versions 4 and 6.</p>
<div class="formrow">
<input type="hidden" name="graph" value="userstats-bridge-version">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_version_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_version_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_version_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_bridge_version_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_bridge_version_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_version_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_bridge_version_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_version_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
- Source: <select name="version">
+ <label>Source: <select name="version">
<option value="v4"<c:if test="${userstats_bridge_version_version[0] eq 'v4'}"> selected</c:if>>IPv4</option>
<option value="v6"<c:if test="${userstats_bridge_version_version[0] eq 'v6'}"> selected</c:if>>IPv6</option>
- </select>
+ </select></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-censorship-events.jsp b/website/web/WEB-INF/userstats-censorship-events.jsp
index 89ae9a8..271bc8e 100644
--- a/website/web/WEB-INF/userstats-censorship-events.jsp
+++ b/website/web/WEB-INF/userstats-censorship-events.jsp
@@ -24,12 +24,12 @@ more details, see this
<div class="formrow">
<input type="hidden" name="table" value="userstats-censorship-events">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_censorship_events_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_censorship_events_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_censorship_events_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_censorship_events_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_censorship_events_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_censorship_events_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_censorship_events_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_censorship_events_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update table">
</p>
diff --git a/website/web/WEB-INF/userstats-relay-country.jsp b/website/web/WEB-INF/userstats-relay-country.jsp
index 55231b3..d2812ce 100644
--- a/website/web/WEB-INF/userstats-relay-country.jsp
+++ b/website/web/WEB-INF/userstats-relay-country.jsp
@@ -34,27 +34,27 @@ details, see this
<div class="formrow">
<input type="hidden" name="graph" value="userstats-relay-country">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_relay_country_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_relay_country_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_relay_country_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_relay_country_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_relay_country_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_relay_country_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_relay_country_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_relay_country_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
- Source: <select name="country">
+ <label>Source: <select name="country">
<option value="all"<c:if test="${userstats_relay_country_country[0] eq 'all'}"> selected</c:if>>All users</option>
<c:forEach var="country" items="${countries}" >
<option value="${country[0]}"<c:if test="${userstats_relay_country_country[0] eq country[0]}"> selected</c:if>>${country[1]}</option>
</c:forEach>
- </select>
+ </select></label>
</p><p>
- Show possible censorship events if available (<a
+ <label>Show possible censorship events if available (<a
href="http://research.torproject.org/techreports/detector-2011-09-09.pdf">BETA</a>)
<select name="events">
<option value="off">Off</option>
<option value="on"<c:if test="${userstats_relay_country_events[0] eq 'on'}"> selected</c:if>>On: both points and expected range</option>
<option value="points"<c:if test="${userstats_relay_country_events[0] eq 'points'}"> selected</c:if>>On: points only, no expected range</option>
- </select>
+ </select></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-relay-table.jsp b/website/web/WEB-INF/userstats-relay-table.jsp
index 3a32510..2c2d325 100644
--- a/website/web/WEB-INF/userstats-relay-table.jsp
+++ b/website/web/WEB-INF/userstats-relay-table.jsp
@@ -27,12 +27,12 @@ available for most countries.</p>
<div class="formrow">
<input type="hidden" name="table" value="userstats-relay">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_relay_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_relay_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(userstats_relay_start) == 0}">${default_start_date}</c:when><c:otherwise>${userstats_relay_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(userstats_relay_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_relay_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(userstats_relay_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_relay_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update table">
</p>
diff --git a/website/web/WEB-INF/versions.jsp b/website/web/WEB-INF/versions.jsp
index c129ef9..8ea2ad3 100644
--- a/website/web/WEB-INF/versions.jsp
+++ b/website/web/WEB-INF/versions.jsp
@@ -31,12 +31,12 @@ and in the
<div class="formrow">
<input type="hidden" name="graph" value="versions">
<p>
- <label>Start date (yyyy-mm-dd):</label>
+ <label>Start date (yyyy-mm-dd):
<input type="text" name="start" size="10"
- value="<c:choose><c:when test="${fn:length(versions_start) == 0}">${default_start_date}</c:when><c:otherwise>${versions_start[0]}</c:otherwise></c:choose>">
- <label>End date (yyyy-mm-dd):</label>
+ value="<c:choose><c:when test="${fn:length(versions_start) == 0}">${default_start_date}</c:when><c:otherwise>${versions_start[0]}</c:otherwise></c:choose>"></label>
+ <label>End date (yyyy-mm-dd):
<input type="text" name="end" size="10"
- value="<c:choose><c:when test="${fn:length(versions_end) == 0}">${default_end_date}</c:when><c:otherwise>${versions_end[0]}</c:otherwise></c:choose>">
+ value="<c:choose><c:when test="${fn:length(versions_end) == 0}">${default_end_date}</c:when><c:otherwise>${versions_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
1
0
[metrics-web/master] Don't wrap between checkboxes/radios and their labels.
by karsten@torproject.org 20 Jan '16
by karsten@torproject.org 20 Jan '16
20 Jan '16
commit 9650d7c43b18a90fb0d8271caed5d343460f2427
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Wed Jan 20 09:53:04 2016 +0100
Don't wrap between checkboxes/radios and their labels.
Suggested by dcf. Fixes #18108.
---
website/web/WEB-INF/advbwdist-perc.jsp | 46 ++++++++++----------
website/web/WEB-INF/advbwdist-relay.jsp | 32 +++++++-------
website/web/WEB-INF/relayflags.jsp | 12 ++---
website/web/WEB-INF/torperf-failures.jsp | 16 +++----
website/web/WEB-INF/torperf.jsp | 16 +++----
website/web/WEB-INF/userstats-bridge-transport.jsp | 22 +++++-----
website/web/css/stylesheet-ltr.css | 9 ++++
7 files changed, 81 insertions(+), 72 deletions(-)
diff --git a/website/web/WEB-INF/advbwdist-perc.jsp b/website/web/WEB-INF/advbwdist-perc.jsp
index 5a0dc57..0d51cf4 100644
--- a/website/web/WEB-INF/advbwdist-perc.jsp
+++ b/website/web/WEB-INF/advbwdist-perc.jsp
@@ -42,29 +42,29 @@ Gbit/s.</font></p>
value="<c:choose><c:when test="${fn:length(advbwdist_perc_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_perc_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>Percentiles: </label>
- <label><input type="checkbox" name="p" value="100"<c:if test="${fn:length(advbwdist_perc_p) == 0 or fn:contains(fn:join(advbwdist_perc_p, ','), '100')}"> checked</c:if>> 100 (maximum)</label>
- <label><input type="checkbox" name="p" value="99"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '99')}"> checked</c:if>> 99</label>
- <label><input type="checkbox" name="p" value="98"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '98')}"> checked</c:if>> 98</label>
- <label><input type="checkbox" name="p" value="97"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '97')}"> checked</c:if>> 97</label>
- <label><input type="checkbox" name="p" value="95"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '95')}"> checked</c:if>> 95</label>
- <label><input type="checkbox" name="p" value="91"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '91')}"> checked</c:if>> 91</label>
- <label><input type="checkbox" name="p" value="90"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '90')}"> checked</c:if>> 90</label>
- <label><input type="checkbox" name="p" value="80"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '80')}"> checked</c:if>> 80</label>
- <label><input type="checkbox" name="p" value="75"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '75')}"> checked</c:if>> 75 (3rd quartile)</label>
- <label><input type="checkbox" name="p" value="70"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '70')}"> checked</c:if>> 70</label>
- <label><input type="checkbox" name="p" value="60"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '60')}"> checked</c:if>> 60</label>
- <label><input type="checkbox" name="p" value="50"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '50')}"> checked</c:if>> 50 (median)</label>
- <label><input type="checkbox" name="p" value="40"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '40')}"> checked</c:if>> 40</label>
- <label><input type="checkbox" name="p" value="30"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '30')}"> checked</c:if>> 30</label>
- <label><input type="checkbox" name="p" value="25"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '25')}"> checked</c:if>> 25 (first quartile)</label>
- <label><input type="checkbox" name="p" value="20"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '20')}"> checked</c:if>> 20</label>
- <label><input type="checkbox" name="p" value="10"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '10,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',10,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',10') or (advbwdist_perc_p[0] == '10' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 10</label>
- <label><input type="checkbox" name="p" value="9"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '9,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',9,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',9') or (advbwdist_perc_p[0] == '9' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 9</label>
- <label><input type="checkbox" name="p" value="5"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '5,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',5,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',5') or (advbwdist_perc_p[0] == '5' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 5</label>
- <label><input type="checkbox" name="p" value="3"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '3,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',3,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',3') or (advbwdist_perc_p[0] == '3' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 3</label>
- <label><input type="checkbox" name="p" value="2"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '2,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',2,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',2') or (advbwdist_perc_p[0] == '2' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 2</label>
- <label><input type="checkbox" name="p" value="1"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '1,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',1,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',1') or (advbwdist_perc_p[0] == '1' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 1</label>
- <label><input type="checkbox" name="p" value="0"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '0,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',0,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',0') or (advbwdist_perc_p[0] == '0' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 0 (minimum)</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="100"<c:if test="${fn:length(advbwdist_perc_p) == 0 or fn:contains(fn:join(advbwdist_perc_p, ','), '100')}"> checked</c:if>> 100 (maximum)</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="99"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '99')}"> checked</c:if>> 99</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="98"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '98')}"> checked</c:if>> 98</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="97"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '97')}"> checked</c:if>> 97</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="95"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '95')}"> checked</c:if>> 95</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="91"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '91')}"> checked</c:if>> 91</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="90"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '90')}"> checked</c:if>> 90</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="80"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '80')}"> checked</c:if>> 80</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="75"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '75')}"> checked</c:if>> 75 (3rd quartile)</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="70"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '70')}"> checked</c:if>> 70</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="60"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '60')}"> checked</c:if>> 60</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="50"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '50')}"> checked</c:if>> 50 (median)</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="40"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '40')}"> checked</c:if>> 40</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="30"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '30')}"> checked</c:if>> 30</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="25"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '25')}"> checked</c:if>> 25 (first quartile)</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="20"<c:if test="${fn:length(advbwdist_perc_p) > 0 and fn:contains(fn:join(advbwdist_perc_p, ','), '20')}"> checked</c:if>> 20</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="10"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '10,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',10,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',10') or (advbwdist_perc_p[0] == '10' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 10</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="9"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '9,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',9,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',9') or (advbwdist_perc_p[0] == '9' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 9</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="5"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '5,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',5,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',5') or (advbwdist_perc_p[0] == '5' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 5</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="3"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '3,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',3,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',3') or (advbwdist_perc_p[0] == '3' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 3</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="2"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '2,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',2,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',2') or (advbwdist_perc_p[0] == '2' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 2</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="1"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '1,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',1,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',1') or (advbwdist_perc_p[0] == '1' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 1</label>
+ <label class="checkbox-label"><input type="checkbox" name="p" value="0"<c:if test="${fn:length(advbwdist_perc_p) > 0 and (fn:startsWith(fn:join(advbwdist_perc_p, ','), '0,') or fn:contains(fn:join(advbwdist_perc_p, ','), ',0,') or fn:endsWith(fn:join(advbwdist_perc_p, ','), ',0') or (advbwdist_perc_p[0] == '0' and fn:length(advbwdist_perc_p) == 1))}"> checked</c:if>> 0 (minimum)</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/advbwdist-relay.jsp b/website/web/WEB-INF/advbwdist-relay.jsp
index 0a42dac..57a2dca 100644
--- a/website/web/WEB-INF/advbwdist-relay.jsp
+++ b/website/web/WEB-INF/advbwdist-relay.jsp
@@ -36,22 +36,22 @@ Gbit/s.</font></p>
value="<c:choose><c:when test="${fn:length(advbwdist_relay_end) == 0}">${default_end_date}</c:when><c:otherwise>${advbwdist_relay_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>n-th fastest relays: </label>
- <label><input type="checkbox" name="n" value="1"<c:if test="${fn:length(advbwdist_relay_n) == 0 or fn:contains(fn:join(advbwdist_relay_n, ','), '1,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '1')}"> checked</c:if>> 1</label>
- <label><input type="checkbox" name="n" value="2"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '2,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '2'))}"> checked</c:if>> 2</label>
- <label><input type="checkbox" name="n" value="3"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '3,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '3'))}"> checked</c:if>> 3</label>
- <label><input type="checkbox" name="n" value="5"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '5,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '5'))}"> checked</c:if>> 5</label>
- <label><input type="checkbox" name="n" value="10"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '10,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '10'))}"> checked</c:if>> 10</label>
- <label><input type="checkbox" name="n" value="20"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '20,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '20'))}"> checked</c:if>> 20</label>
- <label><input type="checkbox" name="n" value="30"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '30,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '30'))}"> checked</c:if>> 30</label>
- <label><input type="checkbox" name="n" value="50"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '50,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '50'))}"> checked</c:if>> 50</label>
- <label><input type="checkbox" name="n" value="100"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '100,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '100'))}"> checked</c:if>> 100</label>
- <label><input type="checkbox" name="n" value="200"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '200,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '200'))}"> checked</c:if>> 200</label>
- <label><input type="checkbox" name="n" value="300"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '300,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '300'))}"> checked</c:if>> 300</label>
- <label><input type="checkbox" name="n" value="500"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '500,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '500'))}"> checked</c:if>> 500</label>
- <label><input type="checkbox" name="n" value="1000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '1000')}"> checked</c:if>> 1000</label>
- <label><input type="checkbox" name="n" value="2000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '2000')}"> checked</c:if>> 2000</label>
- <label><input type="checkbox" name="n" value="3000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '3000')}"> checked</c:if>> 3000</label>
- <label><input type="checkbox" name="n" value="5000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '5000')}"> checked</c:if>> 5000</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="1"<c:if test="${fn:length(advbwdist_relay_n) == 0 or fn:contains(fn:join(advbwdist_relay_n, ','), '1,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '1')}"> checked</c:if>> 1</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="2"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '2,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '2'))}"> checked</c:if>> 2</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="3"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '3,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '3'))}"> checked</c:if>> 3</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="5"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '5,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '5'))}"> checked</c:if>> 5</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="10"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '10,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '10'))}"> checked</c:if>> 10</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="20"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '20,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '20'))}"> checked</c:if>> 20</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="30"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '30,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '30'))}"> checked</c:if>> 30</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="50"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '50,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '50'))}"> checked</c:if>> 50</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="100"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '100,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '100'))}"> checked</c:if>> 100</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="200"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '200,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '200'))}"> checked</c:if>> 200</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="300"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '300,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '300'))}"> checked</c:if>> 300</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="500"<c:if test="${fn:length(advbwdist_relay_n) > 0 and (fn:contains(fn:join(advbwdist_relay_n, ','), '500,') or fn:endsWith(fn:join(advbwdist_relay_n, ','), '500'))}"> checked</c:if>> 500</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="1000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '1000')}"> checked</c:if>> 1000</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="2000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '2000')}"> checked</c:if>> 2000</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="3000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '3000')}"> checked</c:if>> 3000</label>
+ <label class="checkbox-label"><input type="checkbox" name="n" value="5000"<c:if test="${fn:length(advbwdist_relay_n) > 0 and fn:contains(fn:join(advbwdist_relay_n, ','), '5000')}"> checked</c:if>> 5000</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/relayflags.jsp b/website/web/WEB-INF/relayflags.jsp
index cc7c06b..cbe4b42 100644
--- a/website/web/WEB-INF/relayflags.jsp
+++ b/website/web/WEB-INF/relayflags.jsp
@@ -39,12 +39,12 @@ is considered a hidden service directory ("HSDir").</p>
value="<c:choose><c:when test="${fn:length(relayflags_end) == 0}">${default_end_date}</c:when><c:otherwise>${relayflags_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
<label>Relay flags: </label>
- <label><input type="checkbox" name="flag" value="Running"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Running')}"> checked</c:if>> Running</label>
- <label><input type="checkbox" name="flag" value="Exit"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Exit')}"> checked</c:if>> Exit</label>
- <label><input type="checkbox" name="flag" value="Fast"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Fast')}"> checked</c:if>> Fast</label>
- <label><input type="checkbox" name="flag" value="Guard"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Guard')}"> checked</c:if>> Guard</label>
- <label><input type="checkbox" name="flag" value="Stable"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Stable')}"> checked</c:if>> Stable</label>
- <label><input type="checkbox" name="flag" value="HSDir"<c:if test="${fn:length(relayflags_flag) > 0 and fn:contains(fn:join(relayflags_flag, ','), 'HSDir')}"> checked</c:if>> HSDir</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="Running"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Running')}"> checked</c:if>> Running</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="Exit"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Exit')}"> checked</c:if>> Exit</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="Fast"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Fast')}"> checked</c:if>> Fast</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="Guard"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Guard')}"> checked</c:if>> Guard</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="Stable"<c:if test="${fn:length(relayflags_flag) == 0 or fn:contains(fn:join(relayflags_flag, ','), 'Stable')}"> checked</c:if>> Stable</label>
+ <label class="checkbox-label"><input type="checkbox" name="flag" value="HSDir"<c:if test="${fn:length(relayflags_flag) > 0 and fn:contains(fn:join(relayflags_flag, ','), 'HSDir')}"> checked</c:if>> HSDir</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/torperf-failures.jsp b/website/web/WEB-INF/torperf-failures.jsp
index c41112d..d7e3bfd 100644
--- a/website/web/WEB-INF/torperf-failures.jsp
+++ b/website/web/WEB-INF/torperf-failures.jsp
@@ -36,15 +36,15 @@ than expected.</p>
value="<c:choose><c:when test="${fn:length(torperf_failures_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_failures_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
Source:
- <label><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_failures_source) == 0 or torperf_failures_source[0] eq 'all'}"> checked</c:if>> all</label>
- <label><input type="radio" name="source" value="torperf"<c:if test="${torperf_failures_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
- <label><input type="radio" name="source" value="moria"<c:if test="${torperf_failures_source[0] eq 'moria'}"> checked</c:if>> moria</label>
- <label><input type="radio" name="source" value="siv"<c:if test="${torperf_failures_source[0] eq 'siv'}"> checked</c:if>> siv</label>
+ <label class="radio-label"><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_failures_source) == 0 or torperf_failures_source[0] eq 'all'}"> checked</c:if>> all</label>
+ <label class="radio-label"><input type="radio" name="source" value="torperf"<c:if test="${torperf_failures_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
+ <label class="radio-label"><input type="radio" name="source" value="moria"<c:if test="${torperf_failures_source[0] eq 'moria'}"> checked</c:if>> moria</label>
+ <label class="radio-label"><input type="radio" name="source" value="siv"<c:if test="${torperf_failures_source[0] eq 'siv'}"> checked</c:if>> siv</label>
</p><p>
- <label>File size: </label>
- <input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_failures_filesize) == 0 or torperf_failures_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB
- <input type="radio" name="filesize" value="1mb"<c:if test="${torperf_failures_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB
- <input type="radio" name="filesize" value="5mb"<c:if test="${torperf_failures_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB
+ File size:
+ <label class="radio-label"><input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_failures_filesize) == 0 or torperf_failures_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB</label>
+ <label class="radio-label"><input type="radio" name="filesize" value="1mb"<c:if test="${torperf_failures_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB</label>
+ <label class="radio-label"><input type="radio" name="filesize" value="5mb"<c:if test="${torperf_failures_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/torperf.jsp b/website/web/WEB-INF/torperf.jsp
index 79acb6a..23853fc 100644
--- a/website/web/WEB-INF/torperf.jsp
+++ b/website/web/WEB-INF/torperf.jsp
@@ -35,15 +35,15 @@ graph.</p>
value="<c:choose><c:when test="${fn:length(torperf_end) == 0}">${default_end_date}</c:when><c:otherwise>${torperf_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
Source:
- <label><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_source) == 0 or torperf_source[0] eq 'all'}"> checked</c:if>> all</label>
- <label><input type="radio" name="source" value="torperf"<c:if test="${torperf_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
- <label><input type="radio" name="source" value="moria"<c:if test="${torperf_source[0] eq 'moria'}"> checked</c:if>> moria</label>
- <label><input type="radio" name="source" value="siv"<c:if test="${torperf_source[0] eq 'siv'}"> checked</c:if>> siv</label>
+ <label class="radio-label"><input type="radio" name="source" value="all"<c:if test="${fn:length(torperf_source) == 0 or torperf_source[0] eq 'all'}"> checked</c:if>> all</label>
+ <label class="radio-label"><input type="radio" name="source" value="torperf"<c:if test="${torperf_source[0] eq 'torperf'}"> checked</c:if>> torperf</label>
+ <label class="radio-label"><input type="radio" name="source" value="moria"<c:if test="${torperf_source[0] eq 'moria'}"> checked</c:if>> moria</label>
+ <label class="radio-label"><input type="radio" name="source" value="siv"<c:if test="${torperf_source[0] eq 'siv'}"> checked</c:if>> siv</label>
</p><p>
- <label>File size: </label>
- <label><input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_filesize) == 0 or torperf_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB</label>
- <label><input type="radio" name="filesize" value="1mb"<c:if test="${torperf_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB</label>
- <label><input type="radio" name="filesize" value="5mb"<c:if test="${torperf_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB</label>
+ File size:
+ <label class="radio-label"><input type="radio" name="filesize" value="50kb"<c:if test="${fn:length(torperf_filesize) == 0 or torperf_filesize[0] eq '50kb'}"> checked</c:if>> 50 KiB</label>
+ <label class="radio-label"><input type="radio" name="filesize" value="1mb"<c:if test="${torperf_filesize[0] eq '1mb'}"> checked</c:if>> 1 MiB</label>
+ <label class="radio-label"><input type="radio" name="filesize" value="5mb"<c:if test="${torperf_filesize[0] eq '5mb'}"> checked</c:if>> 5 MiB</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/WEB-INF/userstats-bridge-transport.jsp b/website/web/WEB-INF/userstats-bridge-transport.jsp
index aea35fe..c450772 100644
--- a/website/web/WEB-INF/userstats-bridge-transport.jsp
+++ b/website/web/WEB-INF/userstats-bridge-transport.jsp
@@ -36,17 +36,17 @@ so that graphs are available for different transports.</p>
<input type="text" name="end" size="10"
value="<c:choose><c:when test="${fn:length(userstats_bridge_transport_end) == 0}">${default_end_date}</c:when><c:otherwise>${userstats_bridge_transport_end[0]}</c:otherwise></c:choose>"></label>
</p><p>
- <label>Source: </label>
- <label><input type="checkbox" name="transport" value="!<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) == 0 or fn:contains(fn:join(userstats_bridge_transport_transport, ','), '!<OR>')}"> checked</c:if>> Any pluggable transport</label>
- <label><input type="checkbox" name="transport" value="obfs2"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs2')}"> checked</c:if>> obfs2</label>
- <label><input type="checkbox" name="transport" value="obfs3"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs3')}"> checked</c:if>> obfs3</label>
- <label><input type="checkbox" name="transport" value="obfs4"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs4')}"> checked</c:if>> obfs4</label>
- <label><input type="checkbox" name="transport" value="websocket"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'websocket')}"> checked</c:if>> Flash proxy/websocket</label>
- <label><input type="checkbox" name="transport" value="fte"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'fte')}"> checked</c:if>> FTE</label>
- <label><input type="checkbox" name="transport" value="meek"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'meek')}"> checked</c:if>> meek</label>
- <label><input type="checkbox" name="transport" value="scramblesuit"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'scramblesuit')}"> checked</c:if>> scramblesuit</label>
- <label><input type="checkbox" name="transport" value="<??>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<??>')}"> checked</c:if>> Unknown pluggable transport(s)</label>
- <label><input type="checkbox" name="transport" value="<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<OR>')}"> checked</c:if>> Default OR protocol</label>
+ Source:
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="!<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) == 0 or fn:contains(fn:join(userstats_bridge_transport_transport, ','), '!<OR>')}"> checked</c:if>> Any pluggable transport</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="obfs2"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs2')}"> checked</c:if>> obfs2</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="obfs3"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs3')}"> checked</c:if>> obfs3</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="obfs4"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'obfs4')}"> checked</c:if>> obfs4</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="websocket"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'websocket')}"> checked</c:if>> Flash proxy/websocket</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="fte"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'fte')}"> checked</c:if>> FTE</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="meek"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'meek')}"> checked</c:if>> meek</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="scramblesuit"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), 'scramblesuit')}"> checked</c:if>> scramblesuit</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="<??>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<??>')}"> checked</c:if>> Unknown pluggable transport(s)</label>
+ <label class="checkbox-label"><input type="checkbox" name="transport" value="<OR>"<c:if test="${fn:length(userstats_bridge_transport_transport) > 0 and fn:contains(fn:join(userstats_bridge_transport_transport, ','), '<OR>')}"> checked</c:if>> Default OR protocol</label>
</p><p>
<input class="submit" type="submit" value="Update graph">
</p>
diff --git a/website/web/css/stylesheet-ltr.css b/website/web/css/stylesheet-ltr.css
index ce0c54e..68e513f 100644
--- a/website/web/css/stylesheet-ltr.css
+++ b/website/web/css/stylesheet-ltr.css
@@ -159,3 +159,12 @@ hr {
line-height:0;
margin:15px 0 5px;
}
+
+label.checkbox-label {
+ white-space: nowrap;
+}
+
+label.radio-label {
+ white-space: nowrap;
+}
+
1
0
[metrics-web/master] Make links to underlying data more prominent.
by karsten@torproject.org 20 Jan '16
by karsten@torproject.org 20 Jan '16
20 Jan '16
commit 33e1c10a2f41a4c15115a309862497b4e4591d85
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Wed Jan 20 10:11:32 2016 +0100
Make links to underlying data more prominent.
---
website/web/WEB-INF/advbwdist-perc.jsp | 6 +++++-
website/web/WEB-INF/advbwdist-relay.jsp | 6 +++++-
website/web/WEB-INF/bandwidth-flags.jsp | 6 +++++-
website/web/WEB-INF/bandwidth.jsp | 6 +++++-
website/web/WEB-INF/bwhist-flags.jsp | 6 +++++-
website/web/WEB-INF/cloudbridges.jsp | 6 +++++-
website/web/WEB-INF/connbidirect.jsp | 2 +-
website/web/WEB-INF/dirbytes.jsp | 6 +++++-
website/web/WEB-INF/hidserv-dir-onions-seen.jsp | 6 +++++-
website/web/WEB-INF/hidserv-frac-reporting.jsp | 6 +++++-
website/web/WEB-INF/hidserv-rend-relayed-cells.jsp | 6 +++++-
website/web/WEB-INF/networksize.jsp | 6 +++++-
website/web/WEB-INF/platforms.jsp | 6 +++++-
website/web/WEB-INF/relayflags.jsp | 6 +++++-
website/web/WEB-INF/torperf-failures.jsp | 6 +++++-
website/web/WEB-INF/torperf.jsp | 6 +++++-
website/web/WEB-INF/userstats-bridge-country.jsp | 6 +++++-
website/web/WEB-INF/userstats-bridge-table.jsp | 6 +++++-
website/web/WEB-INF/userstats-bridge-transport.jsp | 6 +++++-
website/web/WEB-INF/userstats-bridge-version.jsp | 6 +++++-
website/web/WEB-INF/userstats-censorship-events.jsp | 6 +++++-
website/web/WEB-INF/userstats-relay-country.jsp | 6 +++++-
website/web/WEB-INF/userstats-relay-table.jsp | 6 +++++-
website/web/WEB-INF/versions.jsp | 6 +++++-
24 files changed, 116 insertions(+), 24 deletions(-)
diff --git a/website/web/WEB-INF/advbwdist-perc.jsp b/website/web/WEB-INF/advbwdist-perc.jsp
index 0d51cf4..4c90e31 100644
--- a/website/web/WEB-INF/advbwdist-perc.jsp
+++ b/website/web/WEB-INF/advbwdist-perc.jsp
@@ -75,10 +75,14 @@ Gbit/s.</font></p>
<a href="advbwdist-perc.svg${advbwdist_perc_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="advbwdist-data.html">Data: Advertised bandwidth distribution and n-th fastest relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="advbwdist-relay.html">Graph: Advertised bandwidth of n-th fastest relays</a></li>
-<li><a href="advbwdist-data.html">Data: Advertised bandwidth distribution and n-th fastest relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/advbwdist-relay.jsp b/website/web/WEB-INF/advbwdist-relay.jsp
index 57a2dca..68981b2 100644
--- a/website/web/WEB-INF/advbwdist-relay.jsp
+++ b/website/web/WEB-INF/advbwdist-relay.jsp
@@ -62,10 +62,14 @@ Gbit/s.</font></p>
<a href="advbwdist-relay.svg${advbwdist_relay_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="advbwdist-data.html">Data: Advertised bandwidth distribution and n-th fastest relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="advbwdist-perc.html">Graph: Advertised bandwidth distribution</a></li>
-<li><a href="advbwdist-data.html">Data: Advertised bandwidth distribution and n-th fastest relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/bandwidth-flags.jsp b/website/web/WEB-INF/bandwidth-flags.jsp
index fb7a9db..7ce7e62 100644
--- a/website/web/WEB-INF/bandwidth-flags.jsp
+++ b/website/web/WEB-INF/bandwidth-flags.jsp
@@ -47,13 +47,17 @@ Gbit/s.</font></p>
<a href="bandwidth-flags.svg${bandwidth_flags_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
<li><a href="bandwidth.html">Graph: Total relay bandwidth in the network</a></li>
<li><a href="bwhist-flags.html">Graph: Relay bandwidth by Exit and/or Guard flags</a></li>
<li><a href="dirbytes.html">Graph: Number of bytes spent on answering directory requests</a></li>
-<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/bandwidth.jsp b/website/web/WEB-INF/bandwidth.jsp
index 5c26144..b4e7edc 100644
--- a/website/web/WEB-INF/bandwidth.jsp
+++ b/website/web/WEB-INF/bandwidth.jsp
@@ -44,12 +44,16 @@ Gbit/s.</font></p>
<a href="bandwidth.svg${bandwidth_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="bwhist-flags.html">Graph: Relay bandwidth by Exit and/or Guard flags</a></li>
<li><a href="bandwidth-flags.html">Graph: Advertised bandwidth and bandwidth history by relay flags</a></li>
<li><a href="dirbytes.html">Graph: Number of bytes spent on answering directory requests</a></li>
-<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/bwhist-flags.jsp b/website/web/WEB-INF/bwhist-flags.jsp
index 930f470..97c5c36 100644
--- a/website/web/WEB-INF/bwhist-flags.jsp
+++ b/website/web/WEB-INF/bwhist-flags.jsp
@@ -44,13 +44,17 @@ Gbit/s.</font></p>
<a href="bwhist-flags.svg${bwhist_flags_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
<li><a href="bandwidth.html">Graph: Total relay bandwidth in the network</a></li>
<li><a href="bandwidth-flags.html">Graph: Advertised bandwidth and bandwidth history by relay flags</a></li>
<li><a href="dirbytes.html">Graph: Number of bytes spent on answering directory requests</a></li>
-<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/cloudbridges.jsp b/website/web/WEB-INF/cloudbridges.jsp
index 6535efc..2f362cb 100644
--- a/website/web/WEB-INF/cloudbridges.jsp
+++ b/website/web/WEB-INF/cloudbridges.jsp
@@ -45,10 +45,14 @@ which bridge operators usually leave unchanged.</p>
<a href="cloudbridges.svg${cloudbridges_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="networksize.html">Graph: Relays and bridges in the network</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/connbidirect.jsp b/website/web/WEB-INF/connbidirect.jsp
index 326a949..68f7348 100644
--- a/website/web/WEB-INF/connbidirect.jsp
+++ b/website/web/WEB-INF/connbidirect.jsp
@@ -53,7 +53,7 @@ fractions.</p>
<a href="connbidirect.svg${connbidirect_url}">SVG</a>.</p>
<br>
-<h4>Related metrics</h4>
+<h4>Underlying data</h4>
<ul>
<li><a href="connbidirect2-data.html">Data: Fraction of connections used uni-/bidirectionally</a></li>
</ul>
diff --git a/website/web/WEB-INF/dirbytes.jsp b/website/web/WEB-INF/dirbytes.jsp
index 7afead8..d7e9b18 100644
--- a/website/web/WEB-INF/dirbytes.jsp
+++ b/website/web/WEB-INF/dirbytes.jsp
@@ -48,12 +48,16 @@ Gbit/s.</font></p>
<a href="dirbytes.svg${dirbytes_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="bandwidth.html">Graph: Total relay bandwidth in the network</a></li>
<li><a href="bwhist-flags.html">Graph: Relay bandwidth by Exit and/or Guard flags</a></li>
<li><a href="bandwidth-flags.html">Graph: Advertised bandwidth and bandwidth history by relay flags</a></li>
-<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
index 0223d5f..9551168 100644
--- a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
+++ b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
@@ -50,11 +50,15 @@ technical report</a>.</p>
<a href="hidserv-dir-onions-seen.svg${hidserv_dir_onions_seen_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="hidserv-rend-relayed-cells.html">Graph: Hidden-service traffic</a></li>
<li><a href="hidserv-frac-reporting.html">Graph: Fraction of relays reporting hidden-service statistics</a></li>
-<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/hidserv-frac-reporting.jsp b/website/web/WEB-INF/hidserv-frac-reporting.jsp
index 7229c87..57e6536 100644
--- a/website/web/WEB-INF/hidserv-frac-reporting.jsp
+++ b/website/web/WEB-INF/hidserv-frac-reporting.jsp
@@ -49,11 +49,15 @@ technical report</a>.</p>
<a href="hidserv-frac-reporting.svg${hidserv_frac_reporting_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
<li><a href="hidserv-rend-relayed-cells.html">Graph: Hidden-service traffic</a></li>
-<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
index a8d3b97..359b7b3 100644
--- a/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
+++ b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
@@ -51,11 +51,15 @@ technical report</a>.</p>
<a href="hidserv-rend-relayed-cells.svg${hidserv_rend_relayed_cells_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
<li><a href="hidserv-frac-reporting.html">Graph: Fraction of relays reporting hidden-service statistics</a></li>
-<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/networksize.jsp b/website/web/WEB-INF/networksize.jsp
index b0e297f..d799118 100644
--- a/website/web/WEB-INF/networksize.jsp
+++ b/website/web/WEB-INF/networksize.jsp
@@ -41,13 +41,17 @@
<a href="networksize.svg${networksize_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
<li><a href="versions.html">Graph: Relays by version</a></li>
<li><a href="platforms.html">Graph: Relays by platform</a></li>
<li><a href="cloudbridges.html">Graph: Tor Cloud bridges</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/platforms.jsp b/website/web/WEB-INF/platforms.jsp
index 2aec5ae..cdcd82c 100644
--- a/website/web/WEB-INF/platforms.jsp
+++ b/website/web/WEB-INF/platforms.jsp
@@ -42,12 +42,16 @@ network.</p>
<a href="platforms.svg${platforms_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="networksize.html">Graph: Relays and bridges in the network</a></li>
<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
<li><a href="versions.html">Graph: Relays by version</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/relayflags.jsp b/website/web/WEB-INF/relayflags.jsp
index cbe4b42..89ff179 100644
--- a/website/web/WEB-INF/relayflags.jsp
+++ b/website/web/WEB-INF/relayflags.jsp
@@ -55,12 +55,16 @@ is considered a hidden service directory ("HSDir").</p>
<a href="relayflags.svg${relayflags_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="networksize.html">Graph: Relays and bridges in the network</a></li>
<li><a href="versions.html">Graph: Relays by version</a></li>
<li><a href="platforms.html">Graph: Relays by platform</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/torperf-failures.jsp b/website/web/WEB-INF/torperf-failures.jsp
index d7e3bfd..71f0716 100644
--- a/website/web/WEB-INF/torperf-failures.jsp
+++ b/website/web/WEB-INF/torperf-failures.jsp
@@ -55,10 +55,14 @@ than expected.</p>
<a href="torperf-failures.svg${torperf_failures_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="torperf-data.html">Data: Performance of downloading static files over Tor</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="torperf.html">Graph: Time to download files over Tor</a></li>
-<li><a href="torperf-data.html">Data: Performance of downloading static files over Tor</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/torperf.jsp b/website/web/WEB-INF/torperf.jsp
index 23853fc..1171b76 100644
--- a/website/web/WEB-INF/torperf.jsp
+++ b/website/web/WEB-INF/torperf.jsp
@@ -54,10 +54,14 @@ graph.</p>
<a href="torperf.svg${torperf_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="torperf-data.html">Data: Performance of downloading static files over Tor</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="torperf-failures.html">Graph: Timeouts and failures of downloading files over Tor</a></li>
-<li><a href="torperf-data.html">Data: Performance of downloading static files over Tor</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-bridge-country.jsp b/website/web/WEB-INF/userstats-bridge-country.jsp
index ccfdfd4..430241f 100644
--- a/website/web/WEB-INF/userstats-bridge-country.jsp
+++ b/website/web/WEB-INF/userstats-bridge-country.jsp
@@ -52,12 +52,16 @@ country codes, so that graphs are available for most countries.</p>
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-relay-country.html">Graph: Direct users by country</a></li>
<li><a href="userstats-relay-table.html">Table: Top-10 countries by directly connecting users</a></li>
<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-bridge-table.jsp b/website/web/WEB-INF/userstats-bridge-table.jsp
index d747def..06ce6dc 100644
--- a/website/web/WEB-INF/userstats-bridge-table.jsp
+++ b/website/web/WEB-INF/userstats-bridge-table.jsp
@@ -54,6 +54,11 @@ country codes, so that numbers are available for most countries.</p>
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-relay-country.html">Graph: Direct users by country</a></li>
@@ -61,7 +66,6 @@ and answers about users statistics</a></p>
<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
<li><a href="userstats-bridge-transport.html">Graph: Bridge users by transport</a></li>
<li><a href="userstats-bridge-version.html">Graph: Bridge users by IP version</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-bridge-transport.jsp b/website/web/WEB-INF/userstats-bridge-transport.jsp
index c450772..8ec6cd5 100644
--- a/website/web/WEB-INF/userstats-bridge-transport.jsp
+++ b/website/web/WEB-INF/userstats-bridge-transport.jsp
@@ -58,12 +58,16 @@ so that graphs are available for different transports.</p>
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
<li><a href="userstats-bridge-version.html">Graph: Bridge users by IP version</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-bridge-version.jsp b/website/web/WEB-INF/userstats-bridge-version.jsp
index 7cab4aa..b8976df 100644
--- a/website/web/WEB-INF/userstats-bridge-version.jsp
+++ b/website/web/WEB-INF/userstats-bridge-version.jsp
@@ -50,12 +50,16 @@ available for both IP versions 4 and 6.</p>
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
<li><a href="userstats-bridge-transport.html">Graph: Bridge users by transport</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-censorship-events.jsp b/website/web/WEB-INF/userstats-censorship-events.jsp
index 271bc8e..6b7e21f 100644
--- a/website/web/WEB-INF/userstats-censorship-events.jsp
+++ b/website/web/WEB-INF/userstats-censorship-events.jsp
@@ -54,12 +54,16 @@ more details, see this
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-relay-country.html">Graph: Direct users by country</a></li>
<li><a href="userstats-relay-table.html">Table: Top-10 countries by directly connecting users</a></li>
<li><a href="userstats-censorship-events.html">Table: Top-10 countries by possible censorship events</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-relay-country.jsp b/website/web/WEB-INF/userstats-relay-country.jsp
index d2812ce..c7f8525 100644
--- a/website/web/WEB-INF/userstats-relay-country.jsp
+++ b/website/web/WEB-INF/userstats-relay-country.jsp
@@ -66,6 +66,11 @@ details, see this
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-relay-table.html">Table: Top-10 countries by directly connecting users</a></li>
@@ -73,7 +78,6 @@ and answers about users statistics</a></p>
<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
<li><a href="oxford-anonymous-internet.html">Link: Tor users as percentage of larger Internet population</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/userstats-relay-table.jsp b/website/web/WEB-INF/userstats-relay-table.jsp
index 2c2d325..07138c0 100644
--- a/website/web/WEB-INF/userstats-relay-table.jsp
+++ b/website/web/WEB-INF/userstats-relay-table.jsp
@@ -55,6 +55,11 @@ available for most countries.</p>
<a href="https://gitweb.torproject.org/metrics-web.git/tree/doc/users-q-and-a.txt">Questions
and answers about users statistics</a></p>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="userstats-relay-country.html">Graph: Direct users by country</a></li>
@@ -62,7 +67,6 @@ and answers about users statistics</a></p>
<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
<li><a href="oxford-anonymous-internet.html">Link: Tor users as percentage of larger Internet population</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/versions.jsp b/website/web/WEB-INF/versions.jsp
index 8ea2ad3..02f9173 100644
--- a/website/web/WEB-INF/versions.jsp
+++ b/website/web/WEB-INF/versions.jsp
@@ -47,12 +47,16 @@ and in the
<a href="versions.svg${versions_url}">SVG</a>.</p>
<br>
+<h4>Underlying data</h4>
+<ul>
+<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
+</ul>
+
<h4>Related metrics</h4>
<ul>
<li><a href="networksize.html">Graph: Relays and bridges in the network</a></li>
<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
<li><a href="platforms.html">Graph: Relays by platform</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
</ul>
</div>
1
0