]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
6ee574436d684ecefec5bde04c1c06bb1f5ea077
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / baggy / Config / index.html.twig
1 {% extends "WallabagCoreBundle::layout.html.twig" %}
2
3 {% block title %}{{ 'config.page_title'|trans }}{% endblock %}
4
5 {% block content %}
6 <h2>{{ 'config.tab_menu.settings'|trans }}</h2>
7
8 {{ form_start(form.config) }}
9 {{ form_errors(form.config) }}
10
11 <fieldset class="w500p inline">
12 <div class="row">
13 {{ form_label(form.config.theme) }}
14 {{ form_errors(form.config.theme) }}
15 {{ form_widget(form.config.theme) }}
16 </div>
17 <a href="#" title="{{ 'config.form_settings.help_theme'|trans }}">
18 <i class="material-icons">live_help</i>
19 </a>
20 </fieldset>
21
22 <fieldset class="w500p inline">
23 <div class="row">
24 {{ form_label(form.config.items_per_page) }}
25 {{ form_errors(form.config.items_per_page) }}
26 {{ form_widget(form.config.items_per_page) }}
27 </div>
28 <a href="#" title="{{ 'config.form_settings.help_items_per_page'|trans }}">
29 <i class="material-icons">live_help</i>
30 </a>
31 </fieldset>
32
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) }}
38 <p>
39 {{ 'config.form_settings.reading_speed.help_message'|trans }}
40 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
41 </p>
42 </div>
43 <a href="#" title="{{ 'config.form_settings.help_reading_speed'|trans }}">
44 <i class="material-icons">live_help</i>
45 </a>
46 </fieldset>
47
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
56 <fieldset class="w500p inline">
57 <div class="row">
58 {{ form_label(form.config.language) }}
59 {{ form_errors(form.config.language) }}
60 {{ form_widget(form.config.language) }}
61 </div>
62 <a href="#" title="{{ 'config.form_settings.help_language'|trans }}">
63 <i class="material-icons">live_help</i>
64 </a>
65 </fieldset>
66
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>
77 <a href="#" title="{{ 'config.form_settings.help_pocket_consumer_key'|trans }}">
78 <i class="material-icons">live_help</i>
79 </a>
80 </fieldset>
81
82 <fieldset class="w500p inline">
83 <div class="row">
84 <h3>{{ 'config.form_settings.android_configuration'|trans }}</h3>
85 <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}">{{ 'config.form_settings.android_instruction' | trans }}</a>
86 <br/>
87 <img id="androidQrcode" />
88 <script>
89 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
90 </script>
91 </div>
92 </fieldset>
93
94 {{ form_rest(form.config) }}
95 </form>
96
97 <h2>{{ 'config.tab_menu.rss'|trans }}</h2>
98
99 {{ form_start(form.rss) }}
100 {{ form_errors(form.rss) }}
101
102 <div class="row">
103 {{ 'config.form_rss.description'|trans }}
104 </div>
105
106 <fieldset class="w500p inline">
107 <div class="row">
108 <label>{{ 'config.form_rss.token_label'|trans }}</label>
109 {% if rss.token %}
110 {{ rss.token }}
111 {% else %}
112 <em>{{ 'config.form_rss.no_token'|trans }}</em>
113 {% endif %}
114
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>
122 </div>
123 </fieldset>
124
125 {% if rss.token %}
126 <fieldset class="w500p inline">
127 <div class="row">
128 <label>{{ 'config.form_rss.rss_links'|trans }}</label>
129 <ul>
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>
134 </ul>
135 </div>
136 </fieldset>
137 {% endif %}
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) }}
148 </form>
149
150 <h2>{{ 'config.tab_menu.user_info'|trans }}</h2>
151
152 {{ form_start(form.user) }}
153 {{ form_errors(form.user) }}
154
155 <fieldset class="w500p inline">
156 <div class="row">
157 {{ form_label(form.user.name) }}
158 {{ form_errors(form.user.name) }}
159 {{ form_widget(form.user.name) }}
160 </div>
161 </fieldset>
162
163 <fieldset class="w500p inline">
164 <div class="row">
165 {{ form_label(form.user.email) }}
166 {{ form_errors(form.user.email) }}
167 {{ form_widget(form.user.email) }}
168 </div>
169 </fieldset>
170
171 {% if twofactor_auth %}
172 <div class="row">
173 {{ 'config.form_user.two_factor_description'|trans }}
174 </div>
175
176 <fieldset class="w500p inline">
177 <div class="row">
178 {{ form_label(form.user.emailTwoFactor) }}
179 {{ form_errors(form.user.emailTwoFactor) }}
180 {{ form_widget(form.user.emailTwoFactor) }}
181 </div>
182 <br/>
183 <div class="row">
184 {{ form_label(form.user.googleTwoFactor) }}
185 {{ form_widget(form.user.googleTwoFactor) }}
186 {{ form_errors(form.user.googleTwoFactor) }}
187 </div>
188 {% for OtpQrCode in app.session.flashbag.get('OtpQrCode') %}
189 <div class="row">
190 You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password.
191 <br/>
192 That code will disapear after a page reload.
193 <br/><br/>
194 <strong>{{ app.user.getGoogleAuthenticatorSecret }}</strong>
195 <br/><br/>
196 Or you can scan that QR Code with your app:
197 <br/>
198 <img id="2faQrcode" class="hide-on-med-and-down" />
199
200 <script>
201 document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ OtpQrCode }}');;
202 </script>
203 </div>
204 {% endfor %}
205 </fieldset>
206 {% endif %}
207
208 {{ form_widget(form.user._token) }}
209 {{ form_widget(form.user.save) }}
210 </form>
211
212 {% if enabled_users > 1 %}
213 <h2>{{ 'config.form_user.delete.title'|trans }}</h2>
214
215 <p>{{ 'config.form_user.delete.description'|trans }}</p>
216 <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">
217 {{ 'config.form_user.delete.button'|trans }}
218 </a>
219 {% endif %}
220
221 <h2>{{ 'config.tab_menu.password'|trans }}</h2>
222
223 {{ form_start(form.pwd) }}
224 {{ form_errors(form.pwd) }}
225
226 <div class="row">
227 {{ 'config.form_password.description'|trans }}
228 </div>
229
230 <fieldset class="w500p inline">
231 <div class="row">
232 {{ form_label(form.pwd.old_password) }}
233 {{ form_errors(form.pwd.old_password) }}
234 {{ form_widget(form.pwd.old_password) }}
235 </div>
236 </fieldset>
237
238 <fieldset class="w500p inline">
239 <div class="row">
240 {{ form_label(form.pwd.new_password.first) }}
241 {{ form_errors(form.pwd.new_password.first) }}
242 {{ form_widget(form.pwd.new_password.first) }}
243 </div>
244 </fieldset>
245
246 <fieldset class="w500p inline">
247 <div class="row">
248 {{ form_label(form.pwd.new_password.second) }}
249 {{ form_errors(form.pwd.new_password.second) }}
250 {{ form_widget(form.pwd.new_password.second) }}
251 </div>
252 </fieldset>
253
254 {{ form_rest(form.pwd) }}
255 </form>
256
257 <h2>{{ 'config.tab_menu.rules'|trans }}</h2>
258
259 <ul>
260 {% for tagging_rule in app.user.config.taggingRules %}
261 <li>
262 {{ 'config.form_rules.if_label'|trans }}
263 « {{ tagging_rule.rule }} »
264 {{ 'config.form_rules.then_tag_as_label'|trans }}
265 « {{ tagging_rule.tags|join(', ') }} »
266 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}" class="tool mode_edit">✎</a>
267 <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>
268 </li>
269 {% endfor %}
270 </ul>
271
272 {{ form_start(form.new_tagging_rule) }}
273 {{ form_errors(form.new_tagging_rule) }}
274
275 <fieldset class="w500p inline">
276 <div class="row">
277 {{ form_label(form.new_tagging_rule.rule) }}
278 {{ form_errors(form.new_tagging_rule.rule) }}
279 {{ form_widget(form.new_tagging_rule.rule) }}
280 </div>
281 </fieldset>
282
283 <fieldset class="w500p inline">
284 <div class="row">
285 {{ form_label(form.new_tagging_rule.tags) }}
286 {{ form_errors(form.new_tagging_rule.tags) }}
287 {{ form_widget(form.new_tagging_rule.tags) }}
288 </div>
289 </fieldset>
290
291 {{ form_rest(form.new_tagging_rule) }}
292 </form>
293 <div class="row">
294 <div class="input-field col s12">
295 <h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
296
297 <h4>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h4>
298 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
299
300 <h4>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h4>
301 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
302
303 <h4>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h4>
304 <p class="help">
305 {{ 'config.form_rules.faq.variables_available_description'|trans }}
306 </p>
307
308 <table class="bordered">
309 <thead>
310 <tr>
311 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
312 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
313 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
314 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
315 </tr>
316 </thead>
317
318 <tbody>
319 <tr>
320 <td>title</td>
321 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
322 <td>&lt;=</td>
323 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
324 </tr>
325 <tr>
326 <td>url</td>
327 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
328 <td>&lt;</td>
329 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
330 </tr>
331 <tr>
332 <td>isArchived</td>
333 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
334 <td>&gt;=</td>
335 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
336 </tr>
337 <tr>
338 <td>isStarred</td>
339 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
340 <td>&gt;</td>
341 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
342 </tr>
343 <tr>
344 <td>content</td>
345 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
346 <td>=</td>
347 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
348 </tr>
349 <tr>
350 <td>language</td>
351 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
352 <td>!=</td>
353 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
354 </tr>
355 <tr>
356 <td>mimetype</td>
357 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
358 <td>OR</td>
359 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
360 </tr>
361 <tr>
362 <td>readingTime</td>
363 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
364 <td>AND</td>
365 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
366 </tr>
367 <tr>
368 <td>domainName</td>
369 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
370 <td>matches</td>
371 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
372 </tr>
373 </tbody>
374 </table>
375 </div>
376 </div>
377
378 <h2>{{ 'config.reset.title'|trans }}</h2>
379 <fieldset class="w500p inline">
380 <p>{{ 'config.reset.description'|trans }}</p>
381 <ul>
382 <li>
383 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
384 {{ 'config.reset.annotations'|trans }}
385 </a>
386 </li>
387 <li>
388 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
389 {{ 'config.reset.tags'|trans }}
390 </a>
391 </li>
392 <li>
393 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
394 {{ 'config.reset.archived'|trans }}
395 </a>
396 </li>
397 <li>
398 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
399 {{ 'config.reset.entries'|trans }}
400 </a>
401 </li>
402 </ul>
403 </fieldset>
404 {% endblock %}