1 {% extends "WallabagCoreBundle::layout.html.twig" %}
3 {% block title %}{{ 'config.page_title'|trans }}{% endblock %}
9 <div class="card-panel settings">
12 <div class="div_tabs col s12">
14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
22 <div id="set1" class="col s12">
23 {{ form_start(form.config) }}
24 {{ form_errors(form.config) }}
27 <div class="input-field col s12">
28 {{ form_label(form.config.theme) }}
29 {{ form_errors(form.config.theme) }}
30 {{ form_widget(form.config.theme) }}
35 <div class="input-field col s12">
36 {{ form_label(form.config.items_per_page) }}
37 {{ form_errors(form.config.items_per_page) }}
38 {{ form_widget(form.config.items_per_page) }}
43 <div class="input-field col s12">
44 {{ form_label(form.config.reading_speed) }}
45 {{ form_errors(form.config.reading_speed) }}
46 {{ form_widget(form.config.reading_speed) }}
48 {{ 'config.form_settings.reading_speed.help_message'|trans }}
49 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
55 <div class="input-field col s12">
56 {{ form_label(form.config.language) }}
57 {{ form_errors(form.config.language) }}
58 {{ form_widget(form.config.language) }}
63 <div class="input-field col s12">
64 {{ form_label(form.config.pocket_consumer_key) }}
65 {{ form_errors(form.config.pocket_consumer_key) }}
66 {{ form_widget(form.config.pocket_consumer_key) }}
69 <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
75 <div class="input-field col s12">
76 <h5>{{ 'config.form_settings.android_configuration'|trans }}</h5>
77 <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}" class="waves-effect waves-light btn hide-on-large-only">Touch here to prefill your Android application</a>
78 <img id="androidQrcode" class="hide-on-med-and-down" />
81 const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
82 document.getElementById('androidQrcode').src = imgBase64;
86 {{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
87 {{ form_rest(form.config) }}
91 <div id="set2" class="col s12">
92 {{ form_start(form.rss) }}
93 {{ form_errors(form.rss) }}
96 <div class="input-field col s12">
97 {{ 'config.form_rss.description'|trans }}
102 <div class="input-field col s12">
103 <label>{{ 'config.form_rss.token_label'|trans }}</label>
108 <em>{{ 'config.form_rss.no_token'|trans }}</em>
110 – <a href="{{ path('generate_token') }}">
112 {{ 'config.form_rss.token_reset'|trans }}
114 {{ 'config.form_rss.token_create'|trans }}
121 <div class="input-field col s12">
122 <label>{{ 'config.form_rss.rss_links'|trans }}</label>
124 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
125 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
126 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li>
133 <div class="input-field col s12">
134 {{ form_label(form.rss.rss_limit) }}
135 {{ form_errors(form.rss.rss_limit) }}
136 {{ form_widget(form.rss.rss_limit) }}
140 {{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
141 {{ form_rest(form.rss) }}
145 <div id="set3" class="col s12">
146 {{ form_start(form.user) }}
147 {{ form_errors(form.user) }}
150 <div class="input-field col s12">
151 {{ form_label(form.user.name) }}
152 {{ form_errors(form.user.name) }}
153 {{ form_widget(form.user.name) }}
158 <div class="input-field col s12">
159 {{ form_label(form.user.email) }}
160 {{ form_errors(form.user.email) }}
161 {{ form_widget(form.user.email) }}
165 {% if twofactor_auth %}
167 <div class="input-field col s12">
168 {{ 'config.form_user.two_factor_description'|trans }}
172 {{ form_widget(form.user.twoFactorAuthentication) }}
173 {{ form_label(form.user.twoFactorAuthentication) }}
174 {{ form_errors(form.user.twoFactorAuthentication) }}
179 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
180 {{ form_widget(form.user._token) }}
186 <h5>{{ 'config.reset.title'|trans }}</h5>
187 <p>{{ 'config.reset.description'|trans }}</p>
188 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
189 {{ 'config.reset.annotations'|trans }}
191 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
192 {{ 'config.reset.tags'|trans }}
194 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
195 {{ 'config.reset.entries'|trans }}
199 {% if enabled_users > 1 %}
203 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
204 <p>{{ 'config.form_user.delete.description'|trans }}</p>
205 <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">
206 {{ 'config.form_user.delete.button'|trans }}
212 <div id="set4" class="col s12">
213 {{ form_start(form.pwd) }}
214 {{ form_errors(form.pwd) }}
217 <div class="input-field col s12">
218 {{ form_label(form.pwd.old_password) }}
219 {{ form_errors(form.pwd.old_password) }}
220 {{ form_widget(form.pwd.old_password) }}
225 <div class="input-field col s12">
226 {{ form_label(form.pwd.new_password.first) }}
227 {{ form_errors(form.pwd.new_password.first) }}
228 {{ form_widget(form.pwd.new_password.first) }}
233 <div class="input-field col s12">
234 {{ form_label(form.pwd.new_password.second) }}
235 {{ form_errors(form.pwd.new_password.second) }}
236 {{ form_widget(form.pwd.new_password.second) }}
240 {{ form_widget(form.pwd.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
241 {{ form_rest(form.pwd) }}
245 <div id="set5" class="col s12">
246 {% if app.user.config.taggingRules is not empty %}
248 <div class="input-field col s12">
250 {% for tagging_rule in app.user.config.taggingRules %}
252 {{ 'config.form_rules.if_label'|trans }}
253 « {{ tagging_rule.rule }} »
254 {{ 'config.form_rules.then_tag_as_label'|trans }}
255 « {{ tagging_rule.tags|join(', ') }} »
256 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
257 <i class="tool grey-text mode_edit material-icons">mode_edit</i>
259 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
260 <i class="tool grey-text delete material-icons">delete</i>
269 {{ form_start(form.new_tagging_rule) }}
270 {{ form_errors(form.new_tagging_rule) }}
273 <div class="input-field col s12">
274 {{ form_label(form.new_tagging_rule.rule) }}
275 {{ form_errors(form.new_tagging_rule.rule) }}
276 {{ form_widget(form.new_tagging_rule.rule) }}
281 <div class="input-field col s12">
282 {{ form_label(form.new_tagging_rule.tags) }}
283 {{ form_errors(form.new_tagging_rule.tags) }}
284 {{ form_widget(form.new_tagging_rule.tags) }}
288 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
289 {{ form_rest(form.new_tagging_rule) }}
293 <div class="input-field col s12">
294 <h4>{{ 'config.form_rules.faq.title'|trans }}</h4>
296 <h5>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h5>
297 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
299 <h5>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h5>
300 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
302 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
304 {{ 'config.form_rules.faq.variables_available_description'|trans }}
307 <table class="bordered">
310 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
311 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
312 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
313 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
320 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
322 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
326 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
328 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
332 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
334 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
338 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
340 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
344 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
346 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
350 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
352 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
356 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
358 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
362 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
364 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
368 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
370 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>