*
* @return \Symfony\Component\HttpFoundation\Response
*/
- public function showUnreadAction(Request $request, User $user)
+ public function showUnreadRSSAction(Request $request, User $user)
{
return $this->showEntries('unread', $user, $request->query->get('page', 1));
}
*
* @return \Symfony\Component\HttpFoundation\Response
*/
- public function showArchiveAction(Request $request, User $user)
+ public function showArchiveRSSAction(Request $request, User $user)
{
return $this->showEntries('archive', $user, $request->query->get('page', 1));
}
*
* @return \Symfony\Component\HttpFoundation\Response
*/
- public function showStarredAction(Request $request, User $user)
+ public function showStarredRSSAction(Request $request, User $user)
{
return $this->showEntries('starred', $user, $request->query->get('page', 1));
}
+ /**
+ * Shows all entries for current user.
+ *
+ * @Route("/{username}/{token}/all.xml", name="all_rss", defaults={"_format"="xml"})
+ * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter")
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showAllRSSAction(Request $request, User $user)
+ {
+ return $this->showEntries('all', $user, $request->query->get('page', 1));
+ }
+
/**
* Shows entries associated to a tag for current user.
*
$qb = $repository->getBuilderForUnreadByUser($user->getId());
break;
+ case 'all':
+ $qb = $repository->getBuilderForAllByUser($user->getId());
+ break;
+
default:
throw new \InvalidArgumentException(sprintf('Type "%s" is not implemented.', $type));
}
'form' => null,
'entries' => $entries,
'currentPage' => $page,
- 'tag' => $tag->getSlug(),
+ 'tag' => $tag,
]);
}
}
token_reset: 'Nulstil token'
rss_links: 'RSS-Links'
rss_link:
- unread: 'ulæst'
- starred: 'favoritter'
- archive: 'arkiv'
+ unread: 'Ulæst'
+ starred: 'Favoritter'
+ archive: 'Arkiv'
+ # all: 'All'
# rss_limit: 'Number of items in the feed'
form_user:
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
unread: 'Ungelesene'
starred: 'Favoriten'
archive: 'Archivierte'
+ # all: 'All'
rss_limit: 'Anzahl der Einträge pro Feed'
form_user:
two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung"
token_reset: 'Regenerate your token'
rss_links: 'RSS links'
rss_link:
- unread: 'unread'
- starred: 'starred'
- archive: 'archived'
+ unread: 'Unread'
+ starred: 'Starred'
+ archive: 'Archived'
+ all: 'All'
rss_limit: 'Number of items in the feed'
form_user:
two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connection."
unread: 'sin leer'
starred: 'favoritos'
archive: 'archivados'
+ # all: 'All'
rss_limit: 'Límite de artículos en feed RSS'
form_user:
two_factor_description: "Con la autenticación en dos pasos recibirá código por e-mail en cada nueva conexión que no sea de confianza."
unread: 'خواندهنشده'
starred: 'برگزیده'
archive: 'بایگانی'
+ # all: 'All'
rss_limit: 'محدودیت آر-اس-اس'
form_user:
two_factor_description: "با فعالکردن تأیید ۲مرحلهای هر بار که اتصال تأییدنشدهای برقرار شد، به شما یک کد از راه ایمیل فرستاده میشود"
no_token: "Aucun jeton généré"
token_create: "Créez votre jeton"
token_reset: "Réinitialisez votre jeton"
- rss_links: "Adresse de vos flux RSS"
+ rss_links: "Adresses de vos flux RSS"
rss_link:
- unread: "non lus"
- starred: "favoris"
- archive: "lus"
+ unread: "Non lus"
+ starred: "Favoris"
+ archive: "Lus"
+ all: "Tous"
rss_limit: "Nombre d’articles dans le flux"
form_user:
two_factor_description: "Activer l’authentification double-facteur veut dire que vous allez recevoir un code par courriel à chaque nouvelle connexion non approuvée."
token_reset: 'Rigenera il tuo token'
rss_links: 'Collegamenti RSS'
rss_link:
- unread: 'non letti'
- starred: 'preferiti'
- archive: 'archiviati'
+ unread: 'Non letti'
+ starred: 'Preferiti'
+ archive: 'Archiviati'
+ # all: 'All'
rss_limit: 'Numero di elementi nel feed'
form_user:
two_factor_description: "Abilitando l'\autenticazione a due fattori riceverai una e-mail con un codice per ogni nuova connesione non verificata"
no_token: 'Pas cap de geton generat'
token_create: 'Creatz vòstre geton'
token_reset: 'Reïnicializatz vòstre geton'
- rss_links: 'URL de vòstres fluxes RSS'
+ rss_links: 'URLs de vòstres fluxes RSS'
rss_link:
- unread: 'pas legits'
- starred: 'favorits'
- archive: 'legits'
+ unread: 'Pas legits'
+ starred: 'Favorits'
+ archive: 'Legits'
+ # all: 'All'
rss_limit: "Nombre d'articles dins un flux RSS"
form_user:
two_factor_description: "Activar l'autentificacion doble-factor vòl dire que recebretz un còdi per corrièl per cada novèla connexion pas aprovada."
token_reset: 'Zresetuj swojego tokena'
rss_links: 'RSS links'
rss_link:
- unread: 'nieprzeczytane'
- starred: 'oznaczone gwiazdką'
- archive: 'archiwum'
+ unread: 'Nieprzeczytane'
+ starred: 'Oznaczone gwiazdką'
+ archive: 'Archiwum'
+ # all: 'All'
rss_limit: 'Link do RSS'
form_user:
two_factor_description: "Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanym połączeniu"
token_reset: 'Gerar novamente seu token'
rss_links: 'Links RSS'
rss_link:
- unread: 'não lido'
- starred: 'destacado'
- archive: 'arquivado'
+ unread: 'Não lido'
+ starred: 'Destacado'
+ archive: 'Arquivado'
+ # all: 'All'
rss_limit: 'Número de itens no feed'
form_user:
two_factor_description: 'Habilitar autenticação de dois passos significa que você receberá um e-mail com um código a cada nova conexão desconhecida.'
token_reset: 'Resetează-ți token-ul'
rss_links: 'Link-uri RSS'
rss_link:
- unread: 'unread'
- starred: 'starred'
- archive: 'archived'
+ unread: 'Unread'
+ starred: 'Starred'
+ archive: 'Archived'
+ # all: 'All'
rss_limit: 'Limită RSS'
form_user:
# two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion"
token_reset: 'Belirteci (token) sıfırla'
rss_links: 'RSS akış bağlantıları'
rss_link:
- unread: 'okunmayan'
- starred: 'favoriler'
- archive: 'arşiv'
+ unread: 'Okunmayan'
+ starred: 'Favoriler'
+ archive: 'Arşiv'
+ # all: 'All'
rss_limit: 'RSS içeriğinden talep edilecek makale limiti'
form_user:
two_factor_description: "İki adımlı doğrulamayı aktifleştirdiğinizde, her yeni güvenilmeyen bağlantılarda size e-posta ile bir kod alacaksınız."
<fieldset class="w500p inline">
<div class="row">
<h3>{{ 'config.form_settings.android_configuration'|trans }}</h3>
- <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}" >Touch here to prefill your Android application</a>
+ <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}">Touch here to prefill your Android application</a>
<br/>
<img id="androidQrcode" />
<script>
<fieldset class="w500p inline">
<div class="row">
- <label>Rss token</label>
+ <label>{{ 'config.form_rss.token_label'|trans }}</label>
{% if rss.token %}
{{ rss.token }}
{% else %}
<div class="row">
<label>{{ 'config.form_rss.rss_links'|trans }}</label>
<ul>
- <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">unread</a></li>
- <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">fav</a></li>
- <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">archives</a></li>
+ <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>
</div>
</fieldset>
{% extends "WallabagCoreBundle::layout.html.twig" %}
+{% block head %}
+ {{ parent() }}
+ {% if tag is defined and app.user.config.rssToken %}
+ <link rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" />
+ {% endif %}
+{% endblock %}
+
{% block title %}
{% set filter = '' %}
{% if tag is defined %}
{% endblock %}
{% block content %}
-
+ {% set currentRoute = app.request.attributes.get('_route') %}
{% set listMode = app.user.config.listMode %}
<div class="results">
<div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div>
<div class="pagination">
<a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a>
+ {% if app.user.config.rssToken %}
+ {% include "@WallabagCore/themes/common/Entry/_rss_link.html.twig" %}
+ {% endif %}
<i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i>
<i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i>
{% if entries.getNbPages > 1 %}
<!-- Export -->
<aside id="download-form">
- {% set currentRoute = app.request.attributes.get('_route') %}
{% set currentTag = '' %}
{% if tag is defined %}
{% set currentTag = tag %}
<ul>
{% for tag in tags %}
- <li id="tag-{{ tag.id|e }}"><a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{tag.label}} ({{ tag.nbEntries }})</a></li>
+ <li id="tag-{{ tag.id|e }}">
+ <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{tag.label}} ({{ tag.nbEntries }})</a>
+ <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right">
+ <i class="material-icons md-24">rss_feed</i>
+ </a>
+ </li>
{% endfor %}
</ul>
--- /dev/null
+{% if tag is defined %}
+ <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons md-24">rss_feed</i></a>
+{% elseif currentRoute in ['unread', 'starred', 'archive', 'all'] %}
+ <a rel="alternate" type="application/rss+xml" href="{{ path(currentRoute ~ '_rss', {'username': app.user.username, 'token': app.user.config.rssToken}) }}" class="right"><i class="material-icons">rss_feed</i></a>
+{% endif %}
+
<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>
</div>
</div>
{% extends "WallabagCoreBundle::layout.html.twig" %}
+{% block head %}
+ {{ parent() }}
+ {% if tag is defined and app.user.config.rssToken %}
+ <link rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" />
+ {% endif %}
+{% endblock %}
+
{% block title %}
{% set filter = '' %}
{% if tag is defined %}
- {% set filter = tag %}
+ {% set filter = tag.slug %}
{% endif %}
{% if searchTerm is defined and searchTerm is not empty %}
{% set filter = searchTerm %}
{% block content %}
{% set listMode = app.user.config.listMode %}
+ {% set currentRoute = app.request.attributes.get('_route') %}
<div class="results clearfix">
<div class="nb-results left">
{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}
<a href="{{ path('switch_view_mode') }}"><i class="material-icons">{% if listMode == 0 %}view_list{% else %}view_module{% endif %}</i></a>
+ {% if app.user.config.rssToken %}
+ {% include "@WallabagCore/themes/common/Entry/_rss_link.html.twig" %}
+ {% endif %}
</div>
{% if entries.getNbPages > 1 %}
{{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }}
<!-- Export -->
<div id="export" class="side-nav right-aligned">
- {% set currentRoute = app.request.attributes.get('_route') %}
{% set currentTag = '' %}
{% if tag is defined %}
- {% set currentTag = tag %}
+ {% set currentTag = tag.slug %}
{% endif %}
{% if currentRoute == 'homepage' %}
{% set currentRoute = 'unread' %}
<li title="{{tag.label}} ({{ tag.nbEntries }})" id="tag-{{ tag.id }}" class="col l2 m2 s5">
<a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{tag.label}} ({{ tag.nbEntries }})</a>
{% if app.user.config.rssToken %}
- <a href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons">rss_feed</i></a>
+ <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons">rss_feed</i></a>
{% endif %}
</li>
{% endfor %}