wallabag/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig

446 lines
27 KiB
Twig
Raw Normal View History

2015-08-04 14:18:15 +00:00
{% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
2015-08-04 14:18:15 +00:00
{% block content %}
<div class="row">
<div class="col s12">
2015-08-04 16:39:26 +00:00
<div class="card-panel settings">
2015-08-04 14:18:15 +00:00
<div class="row">
2015-08-04 16:39:26 +00:00
<div class="div_tabs col s12">
2015-08-04 14:18:15 +00:00
<ul class="tabs">
<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>
2018-12-02 07:54:54 +00:00
<li class="tab col s12 m6 l3"><a href="#set6">{{ 'config.tab_menu.reset'|trans }}</a></li>
2015-08-04 14:18:15 +00:00
</ul>
</div>
<div id="set1" class="col s12">
{{ form_start(form.config) }}
2015-08-04 14:18:15 +00:00
{{ form_errors(form.config) }}
<div class="row">
2016-11-12 12:18:39 +00:00
<div class="input-field col s11">
2015-08-04 14:18:15 +00:00
{{ form_errors(form.config.theme) }}
{{ form_widget(form.config.theme) }}
{{ form_label(form.config.theme) }}
2015-08-04 14:18:15 +00:00
</div>
2016-11-12 12:18:39 +00:00
<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>
2015-08-04 14:18:15 +00:00
</div>
<div class="row">
2016-11-12 12:18:39 +00:00
<div class="input-field col s11">
2015-08-04 14:18:15 +00:00
{{ form_errors(form.config.items_per_page) }}
{{ form_widget(form.config.items_per_page) }}
{{ form_label(form.config.items_per_page) }}
2015-08-04 14:18:15 +00:00
</div>
2016-11-12 12:18:39 +00:00
<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>
2015-08-04 14:18:15 +00:00
</div>
<div class="row">
2016-11-12 12:18:39 +00:00
<div class="input-field col s11">
{{ form_errors(form.config.reading_speed) }}
{{ form_widget(form.config.reading_speed) }}
{{ form_label(form.config.reading_speed) }}
2016-03-20 21:09:00 +00:00
<p>
{{ 'config.form_settings.reading_speed.help_message'|trans }}
<a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
</p>
</div>
2016-11-12 12:18:39 +00:00
<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>
2016-12-04 12:51:58 +00:00
<div class="row">
<div class="input-field col s12">
{{ form_errors(form.config.action_mark_as_read) }}
{{ form_widget(form.config.action_mark_as_read) }}
{{ form_label(form.config.action_mark_as_read) }}
2016-12-04 12:51:58 +00:00
</div>
</div>
2015-08-04 14:18:15 +00:00
<div class="row">
2016-11-12 12:18:39 +00:00
<div class="input-field col s11">
2015-08-04 14:18:15 +00:00
{{ form_errors(form.config.language) }}
{{ form_widget(form.config.language) }}
{{ form_label(form.config.language) }}
2015-08-04 14:18:15 +00:00
</div>
2016-11-12 12:18:39 +00:00
<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>
2015-08-04 14:18:15 +00:00
</div>
2016-09-16 20:22:25 +00:00
<div class="row">
2016-11-12 12:18:39 +00:00
<div class="input-field col s11">
2016-09-16 20:22:25 +00:00
{{ form_errors(form.config.pocket_consumer_key) }}
{{ form_widget(form.config.pocket_consumer_key) }}
{{ form_label(form.config.pocket_consumer_key) }}
2016-09-16 20:22:25 +00:00
<p>
&raquo;
<a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
</p>
</div>
2016-11-12 12:18:39 +00:00
<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>
2016-09-16 20:22:25 +00:00
</div>
<div class="row">
<div class="input-field col s12">
2016-10-31 15:48:34 +00:00
<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">{{ 'config.form_settings.android_instruction' | trans }}</a>
<img id="androidQrcode" class="hide-on-med-and-down" />
</div>
<script>
document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');;
</script>
</div>
{{ form_widget(form.config.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_rest(form.config) }}
2015-08-04 14:18:15 +00:00
</form>
</div>
<div id="set2" class="col s12">
{{ form_start(form.rss) }}
2015-08-04 14:18:15 +00:00
{{ form_errors(form.rss) }}
<div class="row">
<div class="input-field col s12">
{{ 'config.form_rss.description'|trans }}
2015-09-30 06:36:30 +00:00
</div>
</div>
<div class="row">
<div class="col s12">
<h6 class="grey-text">{{ 'config.form_rss.token_label'|trans }}</h6>
2015-08-22 10:28:56 +00:00
<div>
{% if rss.token %}
{{ rss.token }}
{% else %}
<em>{{ 'config.form_rss.no_token'|trans }}</em>
2015-08-22 10:28:56 +00:00
{% endif %}
<a href="{{ path('generate_token') }}">
{% if rss.token %}
{{ 'config.form_rss.token_reset'|trans }}
{% else %}
{{ 'config.form_rss.token_create'|trans }}
{% endif %}</a>
2015-08-22 10:28:56 +00:00
</div>
2015-08-04 14:18:15 +00:00
</div>
</div>
2015-09-30 06:36:30 +00:00
{% if rss.token %}
2015-08-04 14:18:15 +00:00
<div class="row">
<div class="col s12">
<h6 class="grey-text">{{ 'config.form_rss.rss_links'|trans }}</h6>
<ul>
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
<li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li>
<li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li>
</ul>
2015-08-04 14:18:15 +00:00
</div>
</div>
2015-09-30 06:36:30 +00:00
{% endif %}
2015-08-04 14:18:15 +00:00
<div class="row">
<div class="input-field col s12">
{{ form_label(form.rss.rss_limit) }}
{{ form_errors(form.rss.rss_limit) }}
{{ form_widget(form.rss.rss_limit) }}
</div>
</div>
{{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_rest(form.rss) }}
2015-08-04 14:18:15 +00:00
</form>
</div>
<div id="set3" class="col s12">
{{ form_start(form.user) }}
2015-08-04 14:18:15 +00:00
{{ form_errors(form.user) }}
<div class="row">
<div class="input-field col s12">
{{ form_label(form.user.name) }}
{{ form_errors(form.user.name) }}
{{ form_widget(form.user.name) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_label(form.user.email) }}
{{ form_errors(form.user.email) }}
{{ form_widget(form.user.email) }}
</div>
</div>
2015-10-15 11:17:21 +00:00
{% if twofactor_auth %}
<div class="row">
{{ 'config.form_user.two_factor_description'|trans }}
2015-12-29 08:59:46 +00:00
<div class="input-field col s11">
{{ form_widget(form.user.emailTwoFactor) }}
{{ form_label(form.user.emailTwoFactor) }}
{{ form_errors(form.user.emailTwoFactor) }}
</div>
<div class="input-field col s11">
{{ form_widget(form.user.googleTwoFactor) }}
{{ form_label(form.user.googleTwoFactor) }}
{{ form_errors(form.user.googleTwoFactor) }}
</div>
2016-11-12 12:18:39 +00:00
</div>
2018-12-02 17:39:02 +00:00
{% for OtpQrCode in app.session.flashbag.get('OtpQrCode') %}
<div class="card-panel yellow darken-1 black-text">
{{ 'config.form_user.two_factor_code_description_1'|trans }}
<br/>
{{ 'config.form_user.two_factor_code_description_2'|trans }}
<br/><br/>
<img id="2faQrcode" class="hide-on-med-and-down" />
<script>
2018-12-02 17:39:02 +00:00
document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ OtpQrCode }}');;
</script>
<br/><br/>
{{ 'config.form_user.two_factor_code_description_3'|trans }}
<br/><br/>
<strong>{{ app.user.getGoogleAuthenticatorSecret }}</strong>
</div>
{% endfor %}
2015-10-15 11:17:21 +00:00
{% endif %}
2015-10-13 20:43:15 +00:00
{{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_widget(form.user._token) }}
2015-08-04 14:18:15 +00:00
</form>
</div>
<div id="set4" class="col s12">
{{ form_start(form.pwd) }}
2015-08-04 14:18:15 +00:00
{{ form_errors(form.pwd) }}
2016-12-04 12:51:58 +00:00
<div class="row">
<div class="input-field col s12">
{{ 'config.form_password.description'|trans }}
</div>
2016-11-12 12:18:39 +00:00
</div>
2015-08-04 14:18:15 +00:00
<div class="row">
<div class="input-field col s12">
{{ form_label(form.pwd.old_password) }}
{{ form_errors(form.pwd.old_password) }}
{{ form_widget(form.pwd.old_password) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_label(form.pwd.new_password.first) }}
{{ form_errors(form.pwd.new_password.first) }}
{{ form_widget(form.pwd.new_password.first) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_label(form.pwd.new_password.second) }}
{{ form_errors(form.pwd.new_password.second) }}
{{ form_widget(form.pwd.new_password.second) }}
</div>
</div>
{{ form_widget(form.pwd.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_rest(form.pwd) }}
2015-08-04 14:18:15 +00:00
</form>
</div>
2015-10-11 15:30:58 +00:00
<div id="set5" class="col s12">
{% if app.user.config.taggingRules is not empty %}
<div class="row">
<div class="input-field col s12">
<ul>
{% for tagging_rule in app.user.config.taggingRules %}
<li>
{{ 'config.form_rules.if_label'|trans }}
« {{ tagging_rule.rule }} »
{{ 'config.form_rules.then_tag_as_label'|trans }}
« {{ tagging_rule.tags|join(', ') }} »
2016-10-01 14:47:48 +00:00
<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 }}">
manage assets through npm first draft remote assetic totally work nearly there use at least nodejs > 0.12 use proper version of grunt bump nodejs version for travis update npm workaround for materialize install node 5.0 add grunt-cli baggy theme & cache node modules cache bower & npm make travis build assets on php7 only exclude installing node & npm if not needed & use bash clean & try to make icomoon work on baggy ready config for travis rebase make travis work more travis work impove travis & update deps add missing pixrem deps add module through oddly lost ui updates install latest nodejs add install_dev.sh, link local binaries for npm/bower/grunt ui improvements (mostly baggy) fix travis build no need to install on travis Add unread filter to entries pages Add the ability to filter for unread pages in the filters menu. Add unread filter test to EntryControllerTest Add a new test to the EntryControllerTest collection which checks that only entries which have not been archived (and are treated as "unread") are retrieved. Improve English translation Update FAQ -Fix grammar -Add notes about MTA, firewall, and SELinux Update installation instructions -Fix grammar -Add SELinux section add screenshots of android docu in English Fix the deletion of Tags/Entries relation when delete an entry Fix #2121 Move fixtures to the right place Display a message when saving an entry failed When saving an entry fail because of database error we previously just returned `false`. Now we got an error in the log and the displayed notice to the user is updated too. Change ManyToMany between entry & tag Following https://gist.github.com/Ocramius/3121916 Be sure to remove the related entity when removing an entity. Let say you have Entry -> EntryTag -> Tag. If you remove the entry: - before that commit, the EntryTag will stay (at least using SQLite). - with that commit, the related entity is removed Prepare wallabag 2.0.5 enforce older materialize version
2016-03-08 16:02:34 +00:00
<i class="tool grey-text delete material-icons">delete</i>
2015-10-25 09:45:15 +00:00
</a>
</li>
{% endfor %}
</ul>
</div>
</div>
{% endif %}
2015-11-16 13:01:43 +00:00
{{ form_start(form.new_tagging_rule) }}
2015-10-25 13:34:43 +00:00
{{ form_errors(form.new_tagging_rule) }}
2015-10-11 15:30:58 +00:00
<div class="row">
<div class="input-field col s12">
{{ form_label(form.new_tagging_rule.rule) }}
{{ form_errors(form.new_tagging_rule.rule) }}
{{ form_widget(form.new_tagging_rule.rule) }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form_label(form.new_tagging_rule.tags) }}
{{ form_errors(form.new_tagging_rule.tags) }}
{{ form_widget(form.new_tagging_rule.tags) }}
</div>
</div>
{{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
{{ form_rest(form.new_tagging_rule) }}
2015-10-11 15:30:58 +00:00
</form>
<div class="row">
<div class="input-field col s12">
<h4>{{ 'config.form_rules.faq.title'|trans }}</h4>
<h5>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h5>
<p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
<h5>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h5>
<p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
<h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
<p class="help">
{{ 'config.form_rules.faq.variables_available_description'|trans }}
</p>
<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>&lt;=</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>&lt;</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>
2016-04-09 12:04:43 +00:00
<td>&gt;=</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>&gt;</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<br />notmaches</td>
<td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}<br />{{ 'config.form_rules.faq.operator_description.notmatches'|trans|raw }}</td>
</tr>
</tbody>
</table>
</div>
</div>
2015-10-11 15:30:58 +00:00
</div>
2018-12-02 07:54:54 +00:00
<div id="set6" class="col s12">
<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: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
{{ 'config.reset.archived'|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>
2015-08-04 14:18:15 +00:00
</div>
</div>
</div>
</div>
{% endblock %}