]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
Merge remote-tracking branch 'origin/master' into 2.2
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / material / Config / index.html.twig
1 {% extends "WallabagCoreBundle::layout.html.twig" %}
2
3 {% block title %}{{ 'config.page_title'|trans }}{% endblock %}
4
5 {% block content %}
6
7 <div class="row">
8 <div class="col s12">
9 <div class="card-panel settings">
10
11 <div class="row">
12 <div class="div_tabs col s12">
13 <ul class="tabs">
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>
19 </ul>
20 </div>
21
22 <div id="set1" class="col s12">
23 {{ form_start(form.config) }}
24 {{ form_errors(form.config) }}
25
26 <div class="row">
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) }}
31 </div>
32 </div>
33
34 <div class="row">
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) }}
39 </div>
40 </div>
41
42 <div class="row">
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) }}
47 <p>
48 {{ 'config.form_settings.reading_speed.help_message'|trans }}
49 <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
50 </p>
51 </div>
52 </div>
53
54 <div class="row">
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) }}
59 </div>
60 </div>
61
62 <div class="row">
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) }}
67 <p>
68 &raquo;
69 <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
70 </p>
71 </div>
72 </div>
73
74 {{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
75 {{ form_rest(form.config) }}
76 </form>
77 </div>
78
79 <div id="set2" class="col s12">
80 {{ form_start(form.rss) }}
81 {{ form_errors(form.rss) }}
82
83 <div class="row">
84 <div class="input-field col s12">
85 {{ 'config.form_rss.description'|trans }}
86 </div>
87 </div>
88
89 <div class="row">
90 <div class="input-field col s12">
91 <label>{{ 'config.form_rss.token_label'|trans }}</label>
92 <div>
93 {% if rss.token %}
94 {{ rss.token }}
95 {% else %}
96 <em>{{ 'config.form_rss.no_token'|trans }}</em>
97 {% endif %}
98 – <a href="{{ path('generate_token') }}">
99 {% if rss.token %}
100 {{ 'config.form_rss.token_reset'|trans }}
101 {% else %}
102 {{ 'config.form_rss.token_create'|trans }}
103 {% endif %}</a>
104 </div>
105 </div>
106 </div>
107 {% if rss.token %}
108 <div class="row">
109 <div class="input-field col s12">
110 <label>{{ 'config.form_rss.rss_links'|trans }}</label>
111 <ul>
112 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
113 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
114 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li>
115 </ul>
116 </div>
117 </div>
118 {% endif %}
119
120 <div class="row">
121 <div class="input-field col s12">
122 {{ form_label(form.rss.rss_limit) }}
123 {{ form_errors(form.rss.rss_limit) }}
124 {{ form_widget(form.rss.rss_limit) }}
125 </div>
126 </div>
127
128 {{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
129 {{ form_rest(form.rss) }}
130 </form>
131 </div>
132
133 <div id="set3" class="col s12">
134 {{ form_start(form.user) }}
135 {{ form_errors(form.user) }}
136
137 <div class="row">
138 <div class="input-field col s12">
139 {{ form_label(form.user.name) }}
140 {{ form_errors(form.user.name) }}
141 {{ form_widget(form.user.name) }}
142 </div>
143 </div>
144
145 <div class="row">
146 <div class="input-field col s12">
147 {{ form_label(form.user.email) }}
148 {{ form_errors(form.user.email) }}
149 {{ form_widget(form.user.email) }}
150 </div>
151 </div>
152
153 {% if twofactor_auth %}
154 <div class="row">
155 <div class="input-field col s12">
156 {{ 'config.form_user.two_factor_description'|trans }}
157
158 <br />
159
160 {{ form_widget(form.user.twoFactorAuthentication) }}
161 {{ form_label(form.user.twoFactorAuthentication) }}
162 {{ form_errors(form.user.twoFactorAuthentication) }}
163 </div>
164 </div>
165 {% endif %}
166
167 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
168 {{ form_widget(form.user._token) }}
169 </form>
170
171 <br /><hr /><br />
172
173 <div class="row">
174 <h5>{{ 'config.reset.title'|trans }}</h5>
175 <p>{{ 'config.reset.description'|trans }}</p>
176 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
177 {{ 'config.reset.annotations'|trans }}
178 </a>
179 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
180 {{ 'config.reset.tags'|trans }}
181 </a>
182 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
183 {{ 'config.reset.entries'|trans }}
184 </a>
185 </div>
186
187 {% if enabled_users > 1 %}
188 <br /><hr /><br />
189
190 <div class="row">
191 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
192 <p>{{ 'config.form_user.delete.description'|trans }}</p>
193 <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">
194 {{ 'config.form_user.delete.button'|trans }}
195 </a>
196 </div>
197 {% endif %}
198 </div>
199
200 <div id="set4" class="col s12">
201 {{ form_start(form.pwd) }}
202 {{ form_errors(form.pwd) }}
203
204 <div class="row">
205 <div class="input-field col s12">
206 {{ form_label(form.pwd.old_password) }}
207 {{ form_errors(form.pwd.old_password) }}
208 {{ form_widget(form.pwd.old_password) }}
209 </div>
210 </div>
211
212 <div class="row">
213 <div class="input-field col s12">
214 {{ form_label(form.pwd.new_password.first) }}
215 {{ form_errors(form.pwd.new_password.first) }}
216 {{ form_widget(form.pwd.new_password.first) }}
217 </div>
218 </div>
219
220 <div class="row">
221 <div class="input-field col s12">
222 {{ form_label(form.pwd.new_password.second) }}
223 {{ form_errors(form.pwd.new_password.second) }}
224 {{ form_widget(form.pwd.new_password.second) }}
225 </div>
226 </div>
227
228 {{ form_widget(form.pwd.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
229 {{ form_rest(form.pwd) }}
230 </form>
231 </div>
232
233 <div id="set5" class="col s12">
234 {% if app.user.config.taggingRules is not empty %}
235 <div class="row">
236 <div class="input-field col s12">
237 <ul>
238 {% for tagging_rule in app.user.config.taggingRules %}
239 <li>
240 {{ 'config.form_rules.if_label'|trans }}
241 « {{ tagging_rule.rule }} »
242 {{ 'config.form_rules.then_tag_as_label'|trans }}
243 « {{ tagging_rule.tags|join(', ') }} »
244 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
245 <i class="tool grey-text mode_edit material-icons">mode_edit</i>
246 </a>
247 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
248 <i class="tool grey-text delete material-icons">delete</i>
249 </a>
250 </li>
251 {% endfor %}
252 </ul>
253 </div>
254 </div>
255 {% endif %}
256
257 {{ form_start(form.new_tagging_rule) }}
258 {{ form_errors(form.new_tagging_rule) }}
259
260 <div class="row">
261 <div class="input-field col s12">
262 {{ form_label(form.new_tagging_rule.rule) }}
263 {{ form_errors(form.new_tagging_rule.rule) }}
264 {{ form_widget(form.new_tagging_rule.rule) }}
265 </div>
266 </div>
267
268 <div class="row">
269 <div class="input-field col s12">
270 {{ form_label(form.new_tagging_rule.tags) }}
271 {{ form_errors(form.new_tagging_rule.tags) }}
272 {{ form_widget(form.new_tagging_rule.tags) }}
273 </div>
274 </div>
275
276 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
277 {{ form_rest(form.new_tagging_rule) }}
278 </form>
279
280 <div class="row">
281 <div class="input-field col s12">
282 <h4>{{ 'config.form_rules.faq.title'|trans }}</h4>
283
284 <h5>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h5>
285 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
286
287 <h5>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h5>
288 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
289
290 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
291 <p class="help">
292 {{ 'config.form_rules.faq.variables_available_description'|trans }}
293 </p>
294
295 <table class="bordered">
296 <thead>
297 <tr>
298 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
299 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
300 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
301 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
302 </tr>
303 </thead>
304
305 <tbody>
306 <tr>
307 <td>title</td>
308 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
309 <td>&lt;=</td>
310 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
311 </tr>
312 <tr>
313 <td>url</td>
314 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
315 <td>&lt;</td>
316 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
317 </tr>
318 <tr>
319 <td>isArchived</td>
320 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
321 <td>&gt;=</td>
322 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
323 </tr>
324 <tr>
325 <td>isStarred</td>
326 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
327 <td>&gt;</td>
328 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
329 </tr>
330 <tr>
331 <td>content</td>
332 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
333 <td>=</td>
334 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
335 </tr>
336 <tr>
337 <td>language</td>
338 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
339 <td>!=</td>
340 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
341 </tr>
342 <tr>
343 <td>mimetype</td>
344 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
345 <td>OR</td>
346 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
347 </tr>
348 <tr>
349 <td>readingTime</td>
350 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
351 <td>AND</td>
352 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
353 </tr>
354 <tr>
355 <td>domainName</td>
356 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
357 <td>matches</td>
358 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
359 </tr>
360 </tbody>
361 </table>
362 </div>
363 </div>
364 </div>
365 </div>
366
367 </div>
368 </div>
369 </div>
370 {% endblock %}