<div class="row">
<div class="div_tabs col s12">
<ul class="tabs">
- <li class="tab col s3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
- <li class="tab col s3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
- <li class="tab col s3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
- <li class="tab col s3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
- <li class="tab col s3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
- {% if is_granted('ROLE_SUPER_ADMIN') %}
- <li class="tab col s3"><a href="#set6">{{ 'config.tab_menu.new_user'|trans }}</a></li>
- {% endif %}
+ <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
+ <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
+ <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
+ <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
+ <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
</ul>
</div>
{{ form_errors(form.config) }}
<div class="row">
- <div class="input-field col s12">
+ <div class="input-field col s11">
{{ form_label(form.config.theme) }}
{{ form_errors(form.config.theme) }}
{{ form_widget(form.config.theme) }}
</div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_theme'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
+ </div>
</div>
<div class="row">
- <div class="input-field col s12">
+ <div class="input-field col s11">
{{ form_label(form.config.items_per_page) }}
{{ form_errors(form.config.items_per_page) }}
{{ form_widget(form.config.items_per_page) }}
</div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_items_per_page'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
+ </div>
</div>
<div class="row">
- <div class="input-field col s12">
+ <div class="input-field col s11">
{{ form_label(form.config.reading_speed) }}
{{ form_errors(form.config.reading_speed) }}
{{ form_widget(form.config.reading_speed) }}
- <p>{% trans %}You can use online tools to estimate your reading speed{% endtrans %} (<a href="http://www.myreadspeed.com/calculate/">{% trans %}like this one{%endtrans%}</a>).</p>
+ <p>
+ {{ 'config.form_settings.reading_speed.help_message'|trans }}
+ <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
+ </p>
+ </div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_reading_speed'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
</div>
</div>
+ <div class="row">
+ <div class="input-field col s12">
+ {{ form_label(form.config.action_mark_as_read) }}
+ {{ form_errors(form.config.action_mark_as_read) }}
+ {{ form_widget(form.config.action_mark_as_read) }}
+ </div>
+ </div>
+
<div class="row">
- <div class="input-field col s12">
+ <div class="input-field col s11">
{{ form_label(form.config.language) }}
{{ form_errors(form.config.language) }}
{{ form_widget(form.config.language) }}
</div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_language'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="input-field col s11">
+ {{ form_label(form.config.pocket_consumer_key) }}
+ {{ form_errors(form.config.pocket_consumer_key) }}
+ {{ form_widget(form.config.pocket_consumer_key) }}
+ <p>
+ »
+ <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
+ </p>
+ </div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_pocket_consumer_key'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="input-field col s12">
+ <h5>{{ 'config.form_settings.android_configuration'|trans }}</h5>
+ <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>
+ <img id="androidQrcode" class="hide-on-med-and-down" />
+ </div>
+ <script>
+ const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
+ document.getElementById('androidQrcode').src = imgBase64;
+ </script>
</div>
{{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{% if twofactor_auth %}
<div class="row">
- <div class="input-field col s12">
+ <div class="input-field col s11">
{{ 'config.form_user.two_factor_description'|trans }}
- </div>
- </div>
- <div class="row">
- <div class="input-field col s12">
+ <br />
+
{{ form_widget(form.user.twoFactorAuthentication) }}
{{ form_label(form.user.twoFactorAuthentication) }}
{{ form_errors(form.user.twoFactorAuthentication) }}
</div>
+ <div class="input-field col s1">
+ <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}">
+ <i class="material-icons">live_help</i>
+ </a>
+ </div>
</div>
{% endif %}
{{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
- {{ form_rest(form.user) }}
+ {{ form_widget(form.user._token) }}
</form>
+
+ <br /><hr /><br />
+
+ <div class="row">
+ <h5>{{ 'config.reset.title'|trans }}</h5>
+ <p>{{ 'config.reset.description'|trans }}</p>
+ <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
+ {{ 'config.reset.annotations'|trans }}
+ </a>
+ <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
+ {{ 'config.reset.tags'|trans }}
+ </a>
+ <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
+ {{ 'config.reset.entries'|trans }}
+ </a>
+ </div>
+
+ {% if enabled_users > 1 %}
+ <br /><hr /><br />
+
+ <div class="row">
+ <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
+ <p>{{ 'config.form_user.delete.description'|trans }}</p>
+ <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">
+ {{ 'config.form_user.delete.button'|trans }}
+ </a>
+ </div>
+ {% endif %}
</div>
<div id="set4" class="col s12">
{{ form_start(form.pwd) }}
{{ form_errors(form.pwd) }}
+ <div class="row">
+ <div class="input-field col s12">
+ {{ 'config.form_password.description'|trans }}
+ </div>
+ </div>
+
<div class="row">
<div class="input-field col s12">
{{ form_label(form.pwd.old_password) }}
</div>
<div id="set5" class="col s12">
+ {% if app.user.config.taggingRules is not empty %}
<div class="row">
<div class="input-field col s12">
<ul>
« {{ tagging_rule.rule }} »
{{ 'config.form_rules.then_tag_as_label'|trans }}
« {{ tagging_rule.tags|join(', ') }} »
+ <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
+ <i class="tool grey-text mode_edit material-icons">mode_edit</i>
+ </a>
<a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
- <i class="tool grey-text delete mdi-action-delete"></i>
+ <i class="tool grey-text delete material-icons">delete</i>
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
+ {% endif %}
{{ form_start(form.new_tagging_rule) }}
{{ form_errors(form.new_tagging_rule) }}
<h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
<p class="help">
{{ 'config.form_rules.faq.variables_available_description'|trans }}
-
- <table class="bordered">
- <thead>
- <tr>
- <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
- <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
- <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
- <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
- </tr>
- </thead>
-
- <tbody>
- <tr>
- <td>title</td>
- <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
- <td><=</td>
- <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
- </tr>
- <tr>
- <td>url</td>
- <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
- <td><</td>
- <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
- </tr>
- <tr>
- <td>isArchived</td>
- <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
- <td>=></td>
- <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
- </tr>
- <tr>
- <td>isStarred</td>
- <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
- <td>></td>
- <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
- </tr>
- <tr>
- <td>content</td>
- <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
- <td>=</td>
- <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
- </tr>
- <tr>
- <td>language</td>
- <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
- <td>!=</td>
- <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
- </tr>
- <tr>
- <td>mimetype</td>
- <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
- <td>OR</td>
- <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
- </tr>
- <tr>
- <td>readingTime</td>
- <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
- <td>AND</td>
- <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
- </tr>
- <tr>
- <td>domainName</td>
- <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
- <td>matches</td>
- <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
- </tr>
- </tbody>
- </table>
</p>
- </div>
- </div>
- </div>
-
- {% if is_granted('ROLE_SUPER_ADMIN') %}
- <div id="set6" class="col s12">
- {{ form_start(form.new_user) }}
- {{ form_errors(form.new_user) }}
- <div class="row">
- <div class="input-field col s12">
- {{ form_label(form.new_user.username) }}
- {{ form_errors(form.new_user.username) }}
- {{ form_widget(form.new_user.username) }}
- </div>
+ <table class="bordered">
+ <thead>
+ <tr>
+ <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
+ <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
+ <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
+ <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td>title</td>
+ <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
+ <td><=</td>
+ <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
+ </tr>
+ <tr>
+ <td>url</td>
+ <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
+ <td><</td>
+ <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
+ </tr>
+ <tr>
+ <td>isArchived</td>
+ <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
+ <td>>=</td>
+ <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
+ </tr>
+ <tr>
+ <td>isStarred</td>
+ <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
+ <td>></td>
+ <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
+ </tr>
+ <tr>
+ <td>content</td>
+ <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
+ <td>=</td>
+ <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
+ </tr>
+ <tr>
+ <td>language</td>
+ <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
+ <td>!=</td>
+ <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
+ </tr>
+ <tr>
+ <td>mimetype</td>
+ <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
+ <td>OR</td>
+ <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
+ </tr>
+ <tr>
+ <td>readingTime</td>
+ <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
+ <td>AND</td>
+ <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
+ </tr>
+ <tr>
+ <td>domainName</td>
+ <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
+ <td>matches</td>
+ <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
+ </tr>
+ </tbody>
+ </table>
</div>
-
- <div class="row">
- <div class="input-field col s12">
- {{ form_label(form.new_user.plainPassword.first) }}
- {{ form_errors(form.new_user.plainPassword.first) }}
- {{ form_widget(form.new_user.plainPassword.first) }}
- </div>
- </div>
-
- <div class="row">
- <div class="input-field col s12">
- {{ form_label(form.new_user.plainPassword.second) }}
- {{ form_errors(form.new_user.plainPassword.second) }}
- {{ form_widget(form.new_user.plainPassword.second) }}
- </div>
- </div>
-
- <div class="row">
- <div class="input-field col s12">
- {{ form_label(form.new_user.email) }}
- {{ form_errors(form.new_user.email) }}
- {{ form_widget(form.new_user.email) }}
- </div>
- </div>
-
- {{ form_widget(form.new_user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
- {{ form_rest(form.new_user) }}
- </form>
+ </div>
</div>
- {% endif %}
</div>
</div>