]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
Change the way to enable 2FA
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / baggy / Config / index.html.twig
CommitLineData
4d85d7e9
J
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
0d42217e 3{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
4d85d7e9 4
4d85d7e9 5{% block content %}
0d42217e 6 <h2>{{ 'config.tab_menu.settings'|trans }}</h2>
4d85d7e9 7
33fe61f9 8 {{ form_start(form.config) }}
0c83fd59 9 {{ form_errors(form.config) }}
4d85d7e9
J
10
11 <fieldset class="w500p inline">
12 <div class="row">
0c83fd59
J
13 {{ form_label(form.config.theme) }}
14 {{ form_errors(form.config.theme) }}
15 {{ form_widget(form.config.theme) }}
4d85d7e9 16 </div>
c894d76e
NL
17 <a href="#" title="{{ 'config.form_settings.help_theme'|trans }}">
18 <i class="material-icons">live_help</i>
19 </a>
4d85d7e9
J
20 </fieldset>
21
22 <fieldset class="w500p inline">
23 <div class="row">
0c83fd59
J
24 {{ form_label(form.config.items_per_page) }}
25 {{ form_errors(form.config.items_per_page) }}
26 {{ form_widget(form.config.items_per_page) }}
4d85d7e9 27 </div>
c894d76e
NL
28 <a href="#" title="{{ 'config.form_settings.help_items_per_page'|trans }}">
29 <i class="material-icons">live_help</i>
30 </a>
4d85d7e9
J
31 </fieldset>
32
db1d4b1e
NL
33 <fieldset class="w500p inline">
34 <div class="row">
35 {{ form_label(form.config.reading_speed) }}
36 {{ form_errors(form.config.reading_speed) }}
37 {{ form_widget(form.config.reading_speed) }}
f3e49264
JB
38 <p>
39 {{ 'config.form_settings.reading_speed.help_message'|trans }}
40 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
41 </p>
db1d4b1e 42 </div>
c894d76e
NL
43 <a href="#" title="{{ 'config.form_settings.help_reading_speed'|trans }}">
44 <i class="material-icons">live_help</i>
45 </a>
db1d4b1e
NL
46 </fieldset>
47
a42f38d9
NL
48 <fieldset class="w500p inline">
49 <div class="row">
50 {{ form_label(form.config.action_mark_as_read) }}
51 {{ form_errors(form.config.action_mark_as_read) }}
52 {{ form_widget(form.config.action_mark_as_read) }}
53 </div>
54 </fieldset>
55
4d85d7e9
J
56 <fieldset class="w500p inline">
57 <div class="row">
0c83fd59
J
58 {{ form_label(form.config.language) }}
59 {{ form_errors(form.config.language) }}
60 {{ form_widget(form.config.language) }}
4d85d7e9 61 </div>
c894d76e
NL
62 <a href="#" title="{{ 'config.form_settings.help_language'|trans }}">
63 <i class="material-icons">live_help</i>
64 </a>
4d85d7e9
J
65 </fieldset>
66
ebe0787e
JB
67 <fieldset class="w500p inline">
68 <div class="row">
69 {{ form_label(form.config.pocket_consumer_key) }}
70 {{ form_errors(form.config.pocket_consumer_key) }}
71 {{ form_widget(form.config.pocket_consumer_key) }}
72 <p>
73 &raquo;
74 <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
75 </p>
76 </div>
c894d76e
NL
77 <a href="#" title="{{ 'config.form_settings.help_pocket_consumer_key'|trans }}">
78 <i class="material-icons">live_help</i>
79 </a>
ebe0787e 80 </fieldset>
3b812126 81
68003139 82 <fieldset class="w500p inline">
3b812126 83 <div class="row">
68e0efff 84 <h3>{{ 'config.form_settings.android_configuration'|trans }}</h3>
e2a038d6 85 <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}">{{ 'config.form_settings.android_instruction' | trans }}</a>
68003139 86 <br/>
68e0efff
NL
87 <img id="androidQrcode" />
88 <script>
2dfbe9e5 89 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
68e0efff 90 </script>
3b812126 91 </div>
ebe0787e
JB
92 </fieldset>
93
0c83fd59
J
94 {{ form_rest(form.config) }}
95 </form>
96
0d42217e 97 <h2>{{ 'config.tab_menu.rss'|trans }}</h2>
0c83fd59 98
8687bcd0 99 {{ form_start(form.rss) }}
0c83fd59
J
100 {{ form_errors(form.rss) }}
101
23ff8d36 102 <div class="row">
0d42217e 103 {{ 'config.form_rss.description'|trans }}
23ff8d36
JB
104 </div>
105
0c83fd59
J
106 <fieldset class="w500p inline">
107 <div class="row">
bd40f1af 108 <label>{{ 'config.form_rss.token_label'|trans }}</label>
0c83fd59
J
109 {% if rss.token %}
110 {{ rss.token }}
111 {% else %}
0d42217e 112 <em>{{ 'config.form_rss.no_token'|trans }}</em>
0c83fd59
J
113 {% endif %}
114
0d42217e
JB
115 <a href="{{ path('generate_token') }}">
116 {% if rss.token %}
117 {{ 'config.form_rss.token_reset'|trans }}
118 {% else %}
119 {{ 'config.form_rss.token_create'|trans }}
120 {% endif %}
121 </a>
0c83fd59
J
122 </div>
123 </fieldset>
124
0d42217e 125 {% if rss.token %}
0c83fd59
J
126 <fieldset class="w500p inline">
127 <div class="row">
0d42217e
JB
128 <label>{{ 'config.form_rss.rss_links'|trans }}</label>
129 <ul>
bd40f1af
TC
130 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
131 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
132 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li>
133 <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li>
0d42217e 134 </ul>
0c83fd59
J
135 </div>
136 </fieldset>
0d42217e 137 {% endif %}
0c83fd59
J
138
139 <fieldset class="w500p inline">
140 <div class="row">
141 {{ form_label(form.rss.rss_limit) }}
142 {{ form_errors(form.rss.rss_limit) }}
143 {{ form_widget(form.rss.rss_limit) }}
144 </div>
145 </fieldset>
146
147 {{ form_rest(form.rss) }}
d9085c63
J
148 </form>
149
0d42217e 150 <h2>{{ 'config.tab_menu.user_info'|trans }}</h2>
c0d9eba0 151
33fe61f9 152 {{ form_start(form.user) }}
0c83fd59 153 {{ form_errors(form.user) }}
c0d9eba0 154
c0d9eba0
J
155 <fieldset class="w500p inline">
156 <div class="row">
0c83fd59
J
157 {{ form_label(form.user.name) }}
158 {{ form_errors(form.user.name) }}
159 {{ form_widget(form.user.name) }}
c0d9eba0
J
160 </div>
161 </fieldset>
162
163 <fieldset class="w500p inline">
164 <div class="row">
0c83fd59
J
165 {{ form_label(form.user.email) }}
166 {{ form_errors(form.user.email) }}
167 {{ form_widget(form.user.email) }}
c0d9eba0
J
168 </div>
169 </fieldset>
170
a0c5eb00
JB
171 {{ form_widget(form.user.save) }}
172
18cf594f 173 {% if twofactor_auth %}
a0c5eb00
JB
174 <h5>{{ 'config.otp.page_title'|trans }}</h5>
175
23ff8d36 176 <div class="row">
0d42217e 177 {{ 'config.form_user.two_factor_description'|trans }}
23ff8d36
JB
178 </div>
179
a0c5eb00
JB
180 <table>
181 <thead>
182 <tr>
183 <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
184 <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
185 <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
186 </tr>
187 </thead>
188
189 <tbody>
190 <tr>
191 <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
192 <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
193 <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
194 </tr>
195 <tr>
196 <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
197 <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
198 <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
199 </tr>
200 </tbody>
201 </table>
202
18cf594f 203 {% endif %}
2db616b5 204
e49c62fa 205 {{ form_widget(form.user._token) }}
c0d9eba0
J
206 </form>
207
876d77a6
JB
208 {% if enabled_users > 1 %}
209 <h2>{{ 'config.form_user.delete.title'|trans }}</h2>
210
211 <p>{{ 'config.form_user.delete.description'|trans }}</p>
212 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
213 {{ 'config.form_user.delete.button'|trans }}
214 </a>
215 {% endif %}
216
0d42217e 217 <h2>{{ 'config.tab_menu.password'|trans }}</h2>
d9085c63 218
33fe61f9 219 {{ form_start(form.pwd) }}
0c83fd59 220 {{ form_errors(form.pwd) }}
d9085c63 221
540a9bc4
NL
222 <div class="row">
223 {{ 'config.form_password.description'|trans }}
224 </div>
225
d9085c63
J
226 <fieldset class="w500p inline">
227 <div class="row">
0c83fd59
J
228 {{ form_label(form.pwd.old_password) }}
229 {{ form_errors(form.pwd.old_password) }}
230 {{ form_widget(form.pwd.old_password) }}
d9085c63
J
231 </div>
232 </fieldset>
233
234 <fieldset class="w500p inline">
235 <div class="row">
0c83fd59
J
236 {{ form_label(form.pwd.new_password.first) }}
237 {{ form_errors(form.pwd.new_password.first) }}
238 {{ form_widget(form.pwd.new_password.first) }}
d9085c63
J
239 </div>
240 </fieldset>
241
242 <fieldset class="w500p inline">
243 <div class="row">
0c83fd59
J
244 {{ form_label(form.pwd.new_password.second) }}
245 {{ form_errors(form.pwd.new_password.second) }}
246 {{ form_widget(form.pwd.new_password.second) }}
d9085c63
J
247 </div>
248 </fieldset>
249
0c83fd59 250 {{ form_rest(form.pwd) }}
4d85d7e9 251 </form>
e4977b8a 252
8687bcd0 253 <h2>{{ 'config.tab_menu.rules'|trans }}</h2>
9b88658c
KG
254
255 <ul>
256 {% for tagging_rule in app.user.config.taggingRules %}
257 <li>
0d42217e
JB
258 {{ 'config.form_rules.if_label'|trans }}
259 « {{ tagging_rule.rule }} »
260 {{ 'config.form_rules.then_tag_as_label'|trans }}
261 « {{ tagging_rule.tags|join(', ') }} »
bf3dc999 262 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}" class="tool mode_edit">✎</a>
0d42217e 263 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}" class="tool delete icon-trash icon"></a>
9b88658c
KG
264 </li>
265 {% endfor %}
266 </ul>
267
a6b242a1 268 {{ form_start(form.new_tagging_rule) }}
9b88658c
KG
269 {{ form_errors(form.new_tagging_rule) }}
270
271 <fieldset class="w500p inline">
272 <div class="row">
273 {{ form_label(form.new_tagging_rule.rule) }}
274 {{ form_errors(form.new_tagging_rule.rule) }}
275 {{ form_widget(form.new_tagging_rule.rule) }}
276 </div>
277 </fieldset>
278
279 <fieldset class="w500p inline">
280 <div class="row">
281 {{ form_label(form.new_tagging_rule.tags) }}
282 {{ form_errors(form.new_tagging_rule.tags) }}
283 {{ form_widget(form.new_tagging_rule.tags) }}
284 </div>
285 </fieldset>
286
287 {{ form_rest(form.new_tagging_rule) }}
288 </form>
8687bcd0
NL
289 <div class="row">
290 <div class="input-field col s12">
291 <h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
292
293 <h4>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h4>
294 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
295
296 <h4>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h4>
297 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
298
299 <h4>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h4>
300 <p class="help">
301 {{ 'config.form_rules.faq.variables_available_description'|trans }}
302 </p>
303
304 <table class="bordered">
305 <thead>
306 <tr>
307 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
308 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
309 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
310 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
311 </tr>
312 </thead>
313
314 <tbody>
315 <tr>
316 <td>title</td>
317 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
318 <td>&lt;=</td>
319 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
320 </tr>
321 <tr>
322 <td>url</td>
323 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
324 <td>&lt;</td>
325 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
326 </tr>
327 <tr>
328 <td>isArchived</td>
329 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
7a2157b8 330 <td>&gt;=</td>
8687bcd0
NL
331 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
332 </tr>
333 <tr>
334 <td>isStarred</td>
335 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
336 <td>&gt;</td>
337 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
338 </tr>
339 <tr>
340 <td>content</td>
341 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
342 <td>=</td>
343 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
344 </tr>
345 <tr>
346 <td>language</td>
347 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
348 <td>!=</td>
349 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
350 </tr>
351 <tr>
352 <td>mimetype</td>
353 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
354 <td>OR</td>
355 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
356 </tr>
357 <tr>
358 <td>readingTime</td>
359 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
360 <td>AND</td>
361 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
362 </tr>
363 <tr>
364 <td>domainName</td>
365 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
366 <td>matches</td>
367 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
368 </tr>
369 </tbody>
370 </table>
371 </div>
372 </div>
a6b242a1
JB
373
374 <h2>{{ 'config.reset.title'|trans }}</h2>
375 <fieldset class="w500p inline">
376 <p>{{ 'config.reset.description'|trans }}</p>
377 <ul>
378 <li>
379 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
380 {{ 'config.reset.annotations'|trans }}
381 </a>
382 </li>
383 <li>
384 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
385 {{ 'config.reset.tags'|trans }}
386 </a>
387 </li>
388 <li>
389 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
390 {{ 'config.reset.archived'|trans }}
391 </a>
392 </li>
393 <li>
394 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
395 {{ 'config.reset.entries'|trans }}
396 </a>
397 </li>
398 </ul>
399 </fieldset>
4d85d7e9 400{% endblock %}