Merge pull request #1668 from wallabag/v2-stuff

Few updates
This commit is contained in:
Nicolas Lœuillet 2016-02-16 12:27:43 +01:00
commit f6249b67f6
14 changed files with 110 additions and 65 deletions

View file

@ -7,7 +7,7 @@ $lineSize = 70;
$symfonyRequirements = new SymfonyRequirements(); $symfonyRequirements = new SymfonyRequirements();
$iniPath = $symfonyRequirements->getPhpIniConfigPath(); $iniPath = $symfonyRequirements->getPhpIniConfigPath();
echo_title('Symfony2 Requirements Checker'); echo_title('Symfony Requirements Checker');
echo '> PHP is using the following php.ini file:'.PHP_EOL; echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) { if ($iniPath) {
@ -43,9 +43,9 @@ foreach ($symfonyRequirements->getRecommendations() as $req) {
} }
if ($checkPassed) { if ($checkPassed) {
echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects'); echo_block('success', 'OK', 'Your system is ready to run Symfony projects');
} else { } else {
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects'); echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects');
echo_title('Fix the following mandatory requirements', 'red'); echo_title('Fix the following mandatory requirements', 'red');

View file

@ -56,7 +56,7 @@ class InstallCommand extends ContainerAwareCommand
; ;
$output->writeln('<info>Wallabag has been successfully installed.</info>'); $output->writeln('<info>Wallabag has been successfully installed.</info>');
$output->writeln('<comment>Just execute `php bin/console server:run` for using wallabag: http://localhost:8000</comment>'); $output->writeln('<comment>Just execute `php bin/console server:run --env=prod` for using wallabag: http://localhost:8000</comment>');
} }
protected function checkRequirements() protected function checkRequirements()

View file

@ -5,6 +5,7 @@ namespace Wallabag\CoreBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Config;
use Wallabag\CoreBundle\Entity\TaggingRule; use Wallabag\CoreBundle\Entity\TaggingRule;
@ -64,7 +65,7 @@ class ConfigController extends Controller
'Password updated' 'Password updated'
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set4');
} }
// handle changing user information // handle changing user information
@ -82,7 +83,7 @@ class ConfigController extends Controller
'Information updated' 'Information updated'
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set3');
} }
// handle rss information // handle rss information
@ -98,7 +99,7 @@ class ConfigController extends Controller
'RSS information updated' 'RSS information updated'
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set2');
} }
// handle tagging rule // handle tagging rule
@ -116,7 +117,7 @@ class ConfigController extends Controller
'Tagging rules updated' 'Tagging rules updated'
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set5');
} }
// handle adding new user // handle adding new user
@ -144,10 +145,10 @@ class ConfigController extends Controller
$this->get('session')->getFlashBag()->add( $this->get('session')->getFlashBag()->add(
'notice', 'notice',
sprintf('User "%s" added', $newUser->getUsername()) $this->get('translator')->trans('User "%username%" added', array('%username%' => $newUser->getUsername()))
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set6');
} }
return $this->render('WallabagCoreBundle:Config:index.html.twig', array( return $this->render('WallabagCoreBundle:Config:index.html.twig', array(
@ -172,7 +173,7 @@ class ConfigController extends Controller
* *
* @Route("/generate-token", name="generate_token") * @Route("/generate-token", name="generate_token")
* *
* @return JsonResponse * @return RedirectResponse|JsonResponse
*/ */
public function generateTokenAction(Request $request) public function generateTokenAction(Request $request)
{ {
@ -187,7 +188,12 @@ class ConfigController extends Controller
return new JsonResponse(array('token' => $config->getRssToken())); return new JsonResponse(array('token' => $config->getRssToken()));
} }
return $request->headers->get('referer') ? $this->redirect($request->headers->get('referer')) : $this->redirectToRoute('config'); $this->get('session')->getFlashBag()->add(
'notice',
'RSS token updated'
);
return $this->redirect($this->generateUrl('config').'#set2');
} }
/** /**
@ -197,7 +203,7 @@ class ConfigController extends Controller
* *
* @Route("/tagging-rule/delete/{id}", requirements={"id" = "\d+"}, name="delete_tagging_rule") * @Route("/tagging-rule/delete/{id}", requirements={"id" = "\d+"}, name="delete_tagging_rule")
* *
* @return \Symfony\Component\HttpFoundation\RedirectResponse * @return RedirectResponse
*/ */
public function deleteTaggingRuleAction(TaggingRule $rule) public function deleteTaggingRuleAction(TaggingRule $rule)
{ {
@ -214,7 +220,7 @@ class ConfigController extends Controller
'Tagging rule deleted' 'Tagging rule deleted'
); );
return $this->redirect($this->generateUrl('config')); return $this->redirect($this->generateUrl('config').'#set5');
} }
/** /**

View file

@ -21,7 +21,7 @@ class NewUserType extends AbstractType
->add('plainPassword', RepeatedType::class, array( ->add('plainPassword', RepeatedType::class, array(
'type' => PasswordType::class, 'type' => PasswordType::class,
'invalid_message' => 'The password fields must match', 'invalid_message' => 'The password fields must match',
'first_options' => array('label' => 'Password'), 'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Repeat new password'), 'second_options' => array('label' => 'Repeat new password'),
'constraints' => array( 'constraints' => array(
new Constraints\Length(array( new Constraints\Length(array(

View file

@ -27,6 +27,7 @@ Search: 'Rechercher'
Filter entries: 'Filtrer les articles' Filter entries: 'Filtrer les articles'
Enter your search here: 'Saisissez votre terme de recherche' Enter your search here: 'Saisissez votre terme de recherche'
Save new entry: 'Sauvegarder un nouvel article' Save new entry: 'Sauvegarder un nouvel article'
Export: Exporter
# Config screen # Config screen
Settings: 'Paramètres' Settings: 'Paramètres'
@ -39,6 +40,7 @@ Items per page: "Nombre d'articles par page"
Language: 'Langue' Language: 'Langue'
Save: 'Enregistrer' Save: 'Enregistrer'
RSS token: 'Jeton RSS' RSS token: 'Jeton RSS'
RSS token updated: 'Jeton RSS mis à jour'
Name: 'Nom' Name: 'Nom'
Email: 'Adresse e-mail' Email: 'Adresse e-mail'
No token: 'Aucun jeton généré' No token: 'Aucun jeton généré'
@ -51,6 +53,7 @@ Old password: 'Mot de passe actuel'
New password: 'Nouveau mot de passe' New password: 'Nouveau mot de passe'
Repeat new password: 'Confirmez votre nouveau mot de passe' Repeat new password: 'Confirmez votre nouveau mot de passe'
Username: "Nom d'utilisateur" Username: "Nom d'utilisateur"
Two factor authentication: Double authentification
# Tagging rules # Tagging rules
Tagging rules: "Règles de tag automatiques" Tagging rules: "Règles de tag automatiques"
@ -82,6 +85,7 @@ One rule and another: "Une règle et l'autre"
The domain name of the entry: "Le nom de domaine de l'article" The domain name of the entry: "Le nom de domaine de l'article"
"Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches \"football\"</code>": "Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches \"football\"</code>" "Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches \"football\"</code>": "Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches \"football\"</code>"
Rule: "Règle" Rule: "Règle"
FAQ: "FAQ"
# Entries # Entries
'estimated reading time': 'durée de lecture' 'estimated reading time': 'durée de lecture'
@ -97,6 +101,10 @@ Edit an entry: "Éditer un article"
Title: "Titre" Title: "Titre"
Is public: "Public" Is public: "Public"
# tag
Tags: Tags
"{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.": "{0} Il n'y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags."
# Filters # Filters
Filters: 'Filtres' Filters: 'Filtres'
Status: 'Statut' Status: 'Statut'
@ -110,7 +118,7 @@ to: 'à'
website.com: 'website.com' website.com: 'website.com'
Domain name: 'Nom de domaine' Domain name: 'Nom de domaine'
Creation date: 'Date de création' Creation date: 'Date de création'
dd/mm/yyyy: 'dd/mm/aaaa' dd/mm/yyyy: 'jj/mm/aaaa'
Clear: 'Effacer' Clear: 'Effacer'
Filter: 'Filtrer' Filter: 'Filtrer'
website.com: "siteweb.com" website.com: "siteweb.com"
@ -161,6 +169,9 @@ Entry unstarred: "Article retiré des favoris"
Entry archived: "Article marqué comme lu" Entry archived: "Article marqué comme lu"
Entry unarchived: "Article marqué comme non lu" Entry unarchived: "Article marqué comme non lu"
Entry deleted: "Article supprimé" Entry deleted: "Article supprimé"
Tagging rule deleted: "Règle supprimée"
Tagging rules updated: "Règles mises à jour"
User "%username%" added: 'Utilisateur "%username%" ajouté'
# Entry # Entry
Mark as read: 'Marquer comme lu' Mark as read: 'Marquer comme lu'
@ -173,6 +184,8 @@ Download: 'Télécharger'
Does this article appear wrong?: "Est-ce que cet article s'affiche mal ?" Does this article appear wrong?: "Est-ce que cet article s'affiche mal ?"
Problems?: 'Un problème ?' Problems?: 'Un problème ?'
Edit title: "Modifier le titre" Edit title: "Modifier le titre"
Re-fetch content: Recharger le contenu
Tag added: Tag ajouté
# Import # Import
Welcome on wallabag importer. Please select your previous service that you want to migrate.: "Bienvenue dans l'outil de migration de wallabag. Choisissez ci-dessous le service depuis lequel vous souhaitez migrer." Welcome on wallabag importer. Please select your previous service that you want to migrate.: "Bienvenue dans l'outil de migration de wallabag. Choisissez ci-dessous le service depuis lequel vous souhaitez migrer."
@ -189,8 +202,12 @@ Please select your wallabag export and click on the below button to upload and i
File: "Fichier" File: "Fichier"
Upload file: "Importer le fichier" Upload file: "Importer le fichier"
Import contents: "Importer les contenus" Import contents: "Importer les contenus"
Import: "Importer"
Import > Wallabag v1: "Importer > Wallabag v1"
Import > Wallabag v2: "Importer > Wallabag v2"
# Quickstart # Quickstart
Quickstart: Pour bien débuter
Welcome on wallabag!: "Bienvenue sur wallabag !" Welcome on wallabag!: "Bienvenue sur wallabag !"
We'll accompany you to visit wallabag and show you some features which can interess you.: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil." We'll accompany you to visit wallabag and show you some features which can interess you.: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil."
Follow us!: "Suivez-nous !" Follow us!: "Suivez-nous !"

View file

@ -1 +1 @@
<a id="bookmarklet" ondragend="this.click();" href="javascript:var url=location.href||url;var wllbg=window.open('{{ url('bookmarklet') }}?url=' + encodeURI(url),'_blank');wllbg.close();void(0);">{% trans %}bag it!{% endtrans %}</a> <a id="bookmarklet" ondragend="this.click();" href="javascript:var url=location.href||url;var wllbg=window.open('{{ url('bookmarklet') }}?url=' + encodeURI(url),'_blank');wllbg.close();void(0);">bag it!</a>

View file

@ -12,7 +12,7 @@
<ul class="links"> <ul class="links">
<li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li> <li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li>
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li> <li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li>
<li><a title="{% trans %}Reload content{% endtrans %}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{% trans %}Reload content{% endtrans %}</span></a></li> <li><a title="{% trans %}Re-fetch content{% endtrans %}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{% trans %}Re-fetch content{% endtrans %}</span></a></li>
<li><a title="{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}</span></a></li> <li><a title="{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{% trans %}Mark as read{% endtrans %}{% else %}{% trans %}Mark as unread{% endtrans %}{% endif %}</span></a></li>
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li> <li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
<li><a id="nav-btn-add-tag" title="{% trans %}Add a tag{% endtrans %}"><span>{% trans %}Tag{% endtrans %}</span></a></li> <li><a id="nav-btn-add-tag" title="{% trans %}Add a tag{% endtrans %}"><span>{% trans %}Tag{% endtrans %}</span></a></li>

View file

@ -1,15 +1,14 @@
<form name="entry" method="post" action="{{ path('new_entry')}}"> <form name="entry" method="post" action="{{ path('new_entry')}}">
{% if form_errors(form) %}
<span class="black-text">{{ form_errors(form) }}</span>
{% endif %}
{% if form_errors(form) %} {% if form_errors(form.url) %}
<span class="black-text">{{ form_errors(form) }}</span> <span class="black-text">{{ form_errors(form.url) }}</span>
{% endif %} {% endif %}
{% if form_errors(form.url) %} {{ form_label(form.url) }}
<span class="black-text">{{ form_errors(form.url) }}</span> {{ form_widget(form.url) }}
{% endif %}
{{ form_label(form.url) }}
{{ form_widget(form.url) }}
<div class="hidden">{{ form_rest(form) }}</div> <div class="hidden">{{ form_rest(form) }}</div>
</form> </form>

View file

@ -16,7 +16,7 @@
</ul> </ul>
<h3>{% trans %}Mobile Apps{% endtrans %}</h3> <h3>{% trans %}Mobile Apps{% endtrans %}</h3>
<ul> <ul>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via F-Droid{% endtrans %}</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via Google Play{% endtrans %}</a></li> <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">via F-Droid</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">via Google Play</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li> <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li> <li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
</ul> </ul>

View file

@ -1,15 +1,14 @@
<form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}"> <form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}">
{% if form_errors(form) %}
<span class="black-text">{{ form_errors(form) }}</span>
{% endif %}
{% if form_errors(form) %} {% if form_errors(form.label) %}
<span class="black-text">{{ form_errors(form) }}</span> <span class="black-text">{{ form_errors(form.label) }}</span>
{% endif %} {% endif %}
{% if form_errors(form.label) %} {{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
<span class="black-text">{{ form_errors(form.label) }}</span> {{ form_widget(form.save, { 'attr': {'class': 'btn waves-effect waves-light'}, 'label': 'add tag' }) }}
{% endif %}
{{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
{{ form_widget(form.save, { 'attr': {'class': 'btn waves-effect waves-light'}, 'label': 'add tag' }) }}
<div class="hidden">{{ form_rest(form) }}</div> <div class="hidden">{{ form_rest(form) }}</div>
</form> </form>

View file

@ -52,9 +52,9 @@
</li> </li>
<li class="bold hide-on-med-and-down"> <li class="bold hide-on-med-and-down">
<a class="waves-effect collapsible-header" title="{% trans %}Reload content{% endtrans %}" href="{{ path('reload_entry', { 'id': entry.id }) }}" id="reload"> <a class="waves-effect collapsible-header" title="{% trans %}Re-fetch content{% endtrans %}" href="{{ path('reload_entry', { 'id': entry.id }) }}" id="reload">
<i class="mdi-action-autorenew small"></i> <i class="mdi-action-autorenew small"></i>
<span>{% trans %}Reload content{% endtrans %}</span> <span>{% trans %}Re-fetch content{% endtrans %}</span>
</a> </a>
<div class="collapsible-body"></div> <div class="collapsible-body"></div>
</li> </li>
@ -97,11 +97,41 @@
</a> </a>
<div class="collapsible-body"> <div class="collapsible-body">
<ul> <ul>
{% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}twitter{% endtrans %}"><span>{% trans %}twitter{% endtrans %}</span></a></li>{% endif %} {% if craue_setting('share_twitter') %}
{% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans %}shaarli{% endtrans %}"><span>{% trans %}shaarli{% endtrans %}</span></a></li>{% endif %} <li>
{% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="{% trans %}diaspora*{% endtrans %}"><span>{% trans %}diaspora*{% endtrans %}</span></a></li>{% endif %} <a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="twitter">
{% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="{% trans %}carrot{% endtrans %}"><span>Carrot</span></a></li>{% endif %} <span>twitter</span>
{% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %} </a>
</li>
{% endif %}
{% if craue_setting('share_shaarli') %}
<li>
<a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="shaarli">
<span>shaarli</span>
</a>
</li>
{% endif %}
{% if craue_setting('share_diaspora') %}
<li>
<a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="diaspora}">
<span>diaspora}</span>
</a>
</li>
{% endif %}
{% if craue_setting('carrot') %}
<li>
<a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="carrot">
<span>Carrot</span>
</a>
</li>
{% endif %}
{% if craue_setting('share_mail') %}
<li>
<a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}">
<span>{% trans %}Email{% endtrans %}</span>
</a>
</li>
{% endif %}
</ul> </ul>
</div> </div>
</li> </li>

View file

@ -1,14 +1,13 @@
<form name="entry" method="post" action="{{ path('new_entry')}}"> <form name="entry" method="post" action="{{ path('new_entry')}}">
{% if form_errors(form) %}
<span class="black-text">{{ form_errors(form) }}</span>
{% endif %}
{% if form_errors(form) %} {% if form_errors(form.url) %}
<span class="black-text">{{ form_errors(form) }}</span> <span class="black-text">{{ form_errors(form.url) }}</span>
{% endif %} {% endif %}
{% if form_errors(form.url) %} {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'http://website'} }) }}
<span class="black-text">{{ form_errors(form.url) }}</span>
{% endif %}
{{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'http://website' | trans} }) }}
<div class="hidden">{{ form_rest(form) }}</div> <div class="hidden">{{ form_rest(form) }}</div>
</form> </form>

View file

@ -18,12 +18,10 @@
</ul> </ul>
</div> </div>
<div id="set1" class="col s12"> <div id="set1" class="col s12">
<a href="{{ path('new') }}">{% trans %}Thanks to this form{% endtrans %}</a> <a href="{{ path('new') }}">{% trans %}Thanks to this form{% endtrans %}</a>
</div> </div>
<div id="set2" class="col s12"> <div id="set2" class="col s12">
<ul> <ul>
<li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans %}Standard Firefox Add-On{% endtrans %}</a></li> <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans %}Standard Firefox Add-On{% endtrans %}</a></li>
@ -31,16 +29,14 @@
</ul> </ul>
</div> </div>
<div id="set3" class="col s12"> <div id="set3" class="col s12">
<ul> <ul>
<li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via F-Droid{% endtrans %}</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans %}via Google Play{% endtrans %}</a></li> <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">via F-Droid</a> {% trans %} or {% endtrans %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">via Google Play</a></li>
<li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li> <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
<li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li> <li>Windows Phone: <a href="http://www.windowsphone.com/en-US/store/app/wallabag/d5226cf1-f422-4e00-996c-88e9c5233332" target="_blank">{% trans %}download the application{% endtrans %}</a></li>
</ul> </ul>
</div> </div>
<div id="set4" class="col s12"> <div id="set4" class="col s12">
{% trans %}Drag &amp; drop this link to your bookmarks bar:{% endtrans %} {% trans %}Drag &amp; drop this link to your bookmarks bar:{% endtrans %}
{% include 'WallabagCoreBundle::_bookmarklet.html.twig' %} {% include 'WallabagCoreBundle::_bookmarklet.html.twig' %}

View file

@ -1,14 +1,13 @@
<form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}"> <form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}">
{% if form_errors(form) %}
<span class="black-text">{{ form_errors(form) }}</span>
{% endif %}
{% if form_errors(form) %} {% if form_errors(form.label) %}
<span class="black-text">{{ form_errors(form) }}</span> <span class="black-text">{{ form_errors(form.label) }}</span>
{% endif %} {% endif %}
{% if form_errors(form.label) %} {{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
<span class="black-text">{{ form_errors(form.label) }}</span>
{% endif %}
{{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
<div class="hidden">{{ form_rest(form) }}</div> <div class="hidden">{{ form_rest(form) }}</div>
</form> </form>