]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Clean markup in templates
authorNicolas Frandeboeuf <nicofrand@gmail.com>
Fri, 23 Aug 2013 20:20:04 +0000 (22:20 +0200)
committerNicolas Frandeboeuf <nicofrand@gmail.com>
Fri, 23 Aug 2013 20:20:04 +0000 (22:20 +0200)
inc/poche/Poche.class.php
install/mysql.sql [deleted file]
install/poche.sqlite [deleted file]
install/postgres.sql [deleted file]
install/update.php [deleted file]
install/update_sqlite_from_0_to_1.php [deleted file]
tpl/config.twig
tpl/home.twig
tpl/layout.twig
tpl/view.twig

index e0dc0d201daa27532d7aee8c82cfdf00812874a8..cc2d8de350970667b6e4ffe26a579699020c9155 100644 (file)
@@ -35,7 +35,7 @@ class Poche
 
     /**
      * all checks before installation.
-     * @return boolean 
+     * @return boolean
      */
     private function checkBeforeInstall()
     {
@@ -47,7 +47,7 @@ class Poche
             die('You don\'t have write access on cache directory.');
         }
         else if (file_exists('./install/update.php') && !DEBUG_POCHE) {
-            $msg = 'A poche update is needed. Please execute this update <a href="install/update.php">by clicking here</a>. If you have already do the update, please delete /install folder.';
+            $msg = 'A poche update is needed. Please execute this update <a href="install/update.php">by clicking here</a>. If you have already done the update, please delete /install folder.';
             $allIsGood = FALSE;
         }
         else if (file_exists('./install') && !DEBUG_POCHE) {
@@ -59,7 +59,7 @@ class Poche
             $msg = 'You don\'t have write access on sqlite file.';
             $allIsGood = FALSE;
         }
-        
+
         if (!$allIsGood) {
             echo $this->tpl->render('error.twig', array(
                 'msg' => $msg
@@ -90,7 +90,7 @@ class Poche
         $this->tpl->addFilter($filter);
     }
 
-    private function init() 
+    private function init()
     {
         Tools::initPhp();
         Session::init();
@@ -108,21 +108,21 @@ class Poche
         $language = $this->user->getConfigValue('language');
         putenv('LC_ALL=' . $language);
         setlocale(LC_ALL, $language);
-        bindtextdomain($language, LOCALE); 
-        textdomain($language); 
+        bindtextdomain($language, LOCALE);
+        textdomain($language);
 
         # Pagination
         $this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p');
     }
 
-    private function install() 
+    private function install()
     {
         Tools::logm('poche still not installed');
         echo $this->tpl->render('install.twig', array(
             'token' => Session::getToken()
         ));
         if (isset($_GET['install'])) {
-            if (($_POST['password'] == $_POST['password_repeat']) 
+            if (($_POST['password'] == $_POST['password_repeat'])
                 && $_POST['password'] != "" && $_POST['login'] != "") {
                 # let's rock, install poche baby !
                 if ($this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login'])))
@@ -280,8 +280,8 @@ class Poche
     }
 
     /**
-     * update the password of the current user. 
-     * if MODE_DEMO is TRUE, the password can't be updated. 
+     * update the password of the current user.
+     * if MODE_DEMO is TRUE, the password can't be updated.
      * @todo add the return value
      * @todo set the new password in function header like this updatePassword($newPassword)
      * @return boolean
@@ -350,7 +350,7 @@ class Poche
     /**
      * log out the poche user. It cleans the session.
      * @todo add the return value
-     * @return boolean 
+     * @return boolean
      */
     public function logout()
     {
@@ -403,7 +403,7 @@ class Poche
     /**
      * import from Pocket. poche needs a ./ril_export.html file
      * @todo add the return value
-     * @return boolean 
+     * @return boolean
      */
     private function importFromPocket()
     {
@@ -430,7 +430,7 @@ class Poche
                     $this->action('toggle_archive', $url, $last_id, TRUE);
                 }
             }
-            
+
             # the second <ul> is for read links
             $read = 1;
         }
@@ -442,7 +442,7 @@ class Poche
     /**
      * import from Readability. poche needs a ./readability file
      * @todo add the return value
-     * @return boolean 
+     * @return boolean
      */
     private function importFromReadability()
     {
@@ -495,7 +495,7 @@ class Poche
      * import datas into your poche
      * @param  string $from name of the service to import : pocket, instapaper or readability
      * @todo add the return value
-     * @return boolean       
+     * @return boolean
      */
     public function import($from)
     {
diff --git a/install/mysql.sql b/install/mysql.sql
deleted file mode 100644 (file)
index cb232a8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-CREATE TABLE IF NOT EXISTS `config` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `name` varchar(255) NOT NULL,
-  `value` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS `entries` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `title` varchar(255) NOT NULL,
-  `url` varchar(255) NOT NULL,
-  `is_read` tinyint(1) NOT NULL,
-  `is_fav` tinyint(1) NOT NULL,
-  `content` blob NOT NULL,
-  `user_id` int(11) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS `users` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `username` varchar(255) NOT NULL,
-  `password` varchar(255) NOT NULL,
-  `name` int(255) NOT NULL,
-  `email` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
-
-CREATE TABLE IF NOT EXISTS `users_config` (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `user_id` int(11) NOT NULL,
-  `name` varchar(255) NOT NULL,
-  `value` varchar(255) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
\ No newline at end of file
diff --git a/install/poche.sqlite b/install/poche.sqlite
deleted file mode 100755 (executable)
index c268223..0000000
Binary files a/install/poche.sqlite and /dev/null differ
diff --git a/install/postgres.sql b/install/postgres.sql
deleted file mode 100644 (file)
index 9e0e827..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-CREATE TABLE config (
-    id bigserial primary key,
-    name varchar(255) NOT NULL,
-    value varchar(255) NOT NULL
-);
-
-CREATE TABLE entries (
-    id bigserial primary key,
-    title varchar(255) NOT NULL,
-    url varchar(255) NOT NULL,
-    is_read boolean DEFAULT false,
-    is_fav boolean DEFAULT false,
-    content TEXT,
-    user_id integer NOT NULL
-);
-
-CREATE TABLE users (
-    id bigserial primary key,
-    username varchar(255) NOT NULL,
-    password varchar(255) NOT NULL,
-    name varchar(255) NOT NULL,
-    email varchar(255) NOT NULL
-);
-
-CREATE TABLE users_config (
-    id bigserial primary key,
-    user_id integer NOT NULL,
-    name varchar(255) NOT NULL,
-    value varchar(255) NOT NULL
-);
\ No newline at end of file
diff --git a/install/update.php b/install/update.php
deleted file mode 100644 (file)
index 8c93af6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-require_once dirname(__FILE__).'/../inc/poche/Tools.class.php';
-include dirname(__FILE__).'/../inc/poche/define.inc.php';
-require_once __DIR__ . '/../inc/poche/Database.class.php';
-$store = new Database();
-$old_salt = '464v54gLLw928uz4zUBqkRJeiPY68zCX';
-?>
-<!DOCTYPE html>
-<!--[if lte IE 6]> <html class="no-js ie6 ie67 ie678" lang="en"> <![endif]-->
-<!--[if lte IE 7]> <html class="no-js ie7 ie67 ie678" lang="en"> <![endif]-->
-<!--[if IE 8]> <html class="no-js ie8 ie678" lang="en"> <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
-<html>
-    <head>
-        <meta charset="utf-8">
-        <title>updating poche</title>
-    </head>
-    <body>
-        <h1>update poche to 1.0-beta3</h1>
-
-        <h2>Changelog</h2>
-        <p>
-            <ul>
-                <li>this awesome updating step</li>
-                <li>error message when install folder exists</li>
-                <li>more tests before installation (write access, etc.)</li>
-                <li>updated README to make installation easier</li>
-                <li>german language thanks to HLFH</li>
-                <li>spanish language thanks to Nitche</li>
-                <li>new file ./inc/poche/myconfig.inc.php created to store language and salt</li>
-                <li><a href="https://github.com/inthepoche/poche/issues/119">#119</a>: salt is now created when installing poche</li>
-                <li><a href="https://github.com/inthepoche/poche/issues/130">#130</a>: robots.txt added</li>
-                <li><a href="https://github.com/inthepoche/poche/issues/136">#136</a>: error during readability import</li>
-                <li><a href="https://github.com/inthepoche/poche/issues/137">#137</a>: mixed content alert in https</li>
-                <li><a href="https://github.com/inthepoche/poche/issues/138">#138</a>: change pattern to parse url with #</li>
-            </ul>
-        </p>
-        <p>To update your poche, please fill the following fields.</p>
-        <p>
-        <form name="update" method="post">
-            <div><label for="login">login:</label> <input type="text" name="login" id="login" /></div>
-            <div><label for="password">password:</label> <input type="password" name="password" id="password" /></div>
-            <div><input type="hidden" name="go" value="ok" /><input type="submit" value="update" /></div>
-        </form>
-        </p>
-<?php
-if (isset($_POST['go'])) {
-    if (!empty($_POST['login']) && !empty($_POST['password'])) {
-        $user = $store->login($_POST['login'], sha1($_POST['password'] . $_POST['login'] . $old_salt));
-        if ($user != array()) {
-            $new_salt = md5(time() . $_SERVER['SCRIPT_FILENAME'] . rand());
-            $myconfig_file = '../inc/poche/myconfig.inc.php';
-            if (!is_writable('../inc/poche/')) {
-                die('You don\'t have write access to create ./inc/poche/myconfig.inc.php.');
-            }
-
-            if (!file_exists($myconfig_file))
-            {
-                $fp = fopen($myconfig_file, 'w');
-                
-                fwrite($fp, '<?php'."\r\n");
-                fwrite($fp, "define ('POCHE_VERSION', '1.0-beta3');" . "\r\n");
-                fwrite($fp, "define ('SALT', '" . $new_salt . "');" . "\r\n");
-                fwrite($fp, "define ('LANG', 'en_EN.utf8');" . "\r\n");
-                fclose($fp);
-            }
-            # faire une mise à jour de la table users en prenant en compte le nouveau SALT généré
-            $store->updatePassword($user['id'], sha1($_POST['password'] . $_POST['login'] . $new_salt));
-?>
-        <p><span style="color: green;">your poche is up to date!</span></p>
-        <p><span style="color: red;">don't forget to delete ./install/ folder after the update.</span></p>
-        <p><a href="../">go back to your poche</a></p>
-<?php
-        }
-    }
-}
-?>
-    </body>
-</html>
\ No newline at end of file
diff --git a/install/update_sqlite_from_0_to_1.php b/install/update_sqlite_from_0_to_1.php
deleted file mode 100644 (file)
index 299abf4..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-# import script to upgrade from poche 0.3
-$db_path = 'sqlite:../db/poche.sqlite';
-$handle = new PDO($db_path);
-$handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
-# Requêtes à exécuter pour mettre à jour poche.sqlite en 1.x
-
-# ajout d'un champ user_id sur la table entries
-$sql = 'ALTER TABLE entries RENAME TO tempEntries;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'CREATE TABLE entries (id INTEGER PRIMARY KEY, title TEXT, url TEXT, is_read NUMERIC DEFAULT 0, is_fav NUMERIC DEFAULT 0, content BLOB, user_id NUMERIC);';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'INSERT INTO entries (id, title, url, is_read, is_fav, content) SELECT id, title, url, is_read, is_fav, content FROM tempEntries;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Update tout pour mettre user_id = 1
-$sql = 'UPDATE entries SET user_id = 1;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Changement des flags pour les lus / favoris
-$sql = 'UPDATE entries SET is_read = 1 WHERE is_read = -1;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'UPDATE entries SET is_fav = 1 WHERE is_fav = -1;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Création de la table users
-$sql = 'CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, password TEXT, name TEXT, email TEXT);';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'INSERT INTO users (username) SELECT value FROM config WHERE name = "login";';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = "UPDATE users SET password = (SELECT value FROM config WHERE name = 'password')";
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Création de la table users_config
-$sql = 'CREATE TABLE users_config (id INTEGER PRIMARY KEY, user_id NUMERIC, name TEXT, value TEXT);';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "pager", "10");';
-$query = $handle->prepare($sql);
-$query->execute();
-
-$sql = 'INSERT INTO users_config (user_id, name, value) VALUES (1, "language", "en_EN.UTF8");';
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Suppression de la table temporaire
-$sql = 'DROP TABLE tempEntries;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-# Vidage de la table de config
-$sql = 'DELETE FROM config;';
-$query = $handle->prepare($sql);
-$query->execute();
-
-echo 'welcome to poche 1.0 !';
\ No newline at end of file
index 5324cda7456e0417b5587294e3082d49c0cc9779..9f2fe5a4e240dea2e60c51a4a6d8c2d75fc9ed45 100644 (file)
             <h2>{% trans "Bookmarklet" %}</h2>
             <p>{% trans "Thanks to the bookmarklet, you will be able to easily add a link to your poche." %} {% trans "Have a look to this documentation:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a>.</p>
             <p>{% trans "Drag & drop this link to your bookmarks bar and have fun with poche." %}</p>
-            <p class="txtcenter"><a ondragend="this.click();" style="cursor: move; border: 1px dashed grey; background: white; padding: 5px;" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@inthepoche.com']){top['bookmarklet-url@inthepoche.com'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "poche it!" %}</a></p>
+            <p class="txtcenter"><a ondragend="this.click();" style="cursor: move; border: 1px dashed grey; background: white; padding: 5px;" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@inthepoche.com']){top['bookmarklet-url@inthepoche.com'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&amp;url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "poche it!" %}</a></p>
 
             <h2>{% trans "Updating poche" %}</h2>
-            <p><ul>
+            <ul>
                 <li>{% trans "your version" %} : <strong>{{ constant('POCHE_VERSION') }}</strong></li>
                 <li>{% trans "latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche">{% trans "a more recent stable version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>
                 {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche">{% trans "a more recent development version is available." %}</a></strong>{% else %}{% trans "you are up to date." %}{% endif %}</li>{% endif %}
             </ul>
-            </p>
 
             <h2>{% trans "Change your password" %}</h2>
             <form method="post" action="?config" name="loginform">
             <h2>{% trans "Import" %}</h2>
             <p>{% trans "Please execute the import script locally, it can take a very long time." %}</p>
             <p>{% trans "More infos in the official doc:" %} <a href="http://inthepoche.com/?pages/Documentation">inthepoche.com</a></p>
-            <p><ul>
-            <li><a href="./?import&from=pocket">{% trans "import from Pocket" %}</a> (you must have a "ril_export.html" file on your server)</li>
-            <li><a href="./?import&from=readability">{% trans "import from Readability" %}</a>  (you must have a "readability" file on your server)</li>
-            <li><a href="./?import&from=instapaper">{% trans "import from Instapaper" %}</a>  (you must have a "instapaper-export.html" file on your server)</li>
-            </ul></p>
+            <ul>
+                               <li><a href="./?import&amp;from=pocket">{% trans "import from Pocket" %}</a> (you must have a "ril_export.html" file on your server)</li>
+                               <li><a href="./?import&amp;from=readability">{% trans "import from Readability" %}</a>  (you must have a "readability" file on your server)</li>
+                               <li><a href="./?import&amp;from=instapaper">{% trans "import from Instapaper" %}</a>  (you must have a "instapaper-export.html" file on your server)</li>
+            </ul>
 
             <h2>{% trans "Export your poche datas" %}</h2>
             <p><a href="./?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your poche datas." %}</p>
index 21910ae8c297335ed0eb4bdf6c691cad9a677726..a2fa9a93eb0529c5061a4852f4ed266f7e3e4935 100644 (file)
@@ -5,19 +5,19 @@
 {% endblock %}
 {% block precontent %}
             <ul id="sort">
-                <li><a href="./?sort=ia&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
-                <li><a href="./?sort=ta&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
+                <li><a href="./?sort=ia&amp;view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&amp;view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li>
+                <li><a href="./?sort=ta&amp;view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&amp;view={{ view }}"><img src="./tpl/img/{{ constant('THEME') }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li>
             </ul>
 {% endblock %}
 {% block content %}
             {{ page_links | raw }}
             {% for entry in entries %}
             <div id="entry-{{ entry.id|e }}" class="entrie">
-                <h2><a href="index.php?view=view&id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
+                <h2><a href="index.php?view=view&amp;id={{ entry.id|e }}">{{ entry.title|raw }}</a></h2>
                 <ul class="tools">
-                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
-                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
-                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
+                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
+                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
+                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
                     <li class="reading-time">{{ entry.content| getReadingTime }} min</li>
                 </ul>
                 <p>{{ entry.content|striptags|slice(0, 300) }}...</p>
index b86983da27d9a127f814528da825c15c779f97b2..7084a21548764eab5a65b0a1f34bce8fa67a5bd0 100644 (file)
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
-<!--[if lte IE 6]> <html class="no-js ie6 ie67 ie678" lang="en"> <![endif]-->
-<!--[if lte IE 7]> <html class="no-js ie7 ie67 ie678" lang="en"> <![endif]-->
-<!--[if IE 8]> <html class="no-js ie8 ie678" lang="en"> <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
+<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="en"><![endif]-->
+<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]-->
+<!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]-->
+<!--[if gt IE 8]><html class="no-js" lang="en"><![endif]-->
 <html>
     <head>
         <meta name="viewport" content="initial-scale=1.0">
index 82d1fd2a0a32b4e428197bcfae84e6c44704066e..4dee38c88602361d0e0e34150bf7fdc3b523fcdb 100644 (file)
@@ -5,32 +5,32 @@
             <div class="tools">
                 <ul class="tools">
                     <li><a href="./" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
-                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
-                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
-                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
-                    {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title}}%20{{ entry.url|e }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
-                    {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|e }}&body={{ entry.url|e }} via @getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
+                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
+                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
+                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
+                    {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
+                    {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
                 </ul>
             </div>
             <header class="mbm">
                 <h1>{{ entry.title|raw }}</h1>
-                <div class="vieworiginal txtright small"><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
+                <div class="vieworiginal txtright small"><a href="{{ entry.url|url_encode }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
             </header>
             <article>
                 {{ content | raw }}
-                <div class="vieworiginal txtright small"><a href="{{ entry.url|e }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
+                <div class="vieworiginal txtright small"><a href="{{ entry.url|url_encode }}" target="_blank" title="{% trans "original" %} : {{ entry.title|e }}">{{ entry.url | e | getDomain }}</a></div>
             </article>
             <div class="tools">
                 <ul class="tools">
                     <li><a href="./?" title="{% trans "back to home" %}" class="tool back"><span>{% trans "back to home" %}</span></a></li>
                     <li><a href="#top" title="{% trans "back to top" %}" class="tool top"><span>{% trans "back to top" %}</span></a></li>
-                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
-                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
-                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
-                    {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title}}%20{{ entry.url|e }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
-                    {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|e }}&body={{ entry.url|e }} via @getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
+                    <li><a title="{% trans "toggle mark as read" %}" class="tool archive {% if entry.is_read == 0 %}archive-off{% endif %}" href="./?action=toggle_archive&amp;id={{ entry.id|e }}"><span>{% trans "toggle mark as read" %}</span></a></li>
+                    <li><a title="{% trans "toggle favorite" %}" class="tool fav {% if entry.is_fav == 0 %}fav-off{% endif %}" href="./?action=toggle_fav&amp;id={{ entry.id|e }}"><span>{% trans "toggle favorite" %}</span></a></li>
+                    <li><a title="{% trans "delete" %}" class="tool delete" href="./?action=delete&amp;id={{ entry.id|e }}"><span>{% trans "delete" %}</span></a></li>
+                    {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
+                    {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
                 </ul>
-                <p>{% trans "this article appears wrong?" %} <a href="https://github.com/inthepoche/poche/issues/new">{% trans "create an issue" %}</a> {% trans "or" %} <a href="mailto:support@inthepoche.com?subject=Wrong display in poche&body={{ entry.url|e }}">{% trans "contact us by mail" %}</a></p>
+                <p>{% trans "this article appears wrong?" %} <a href="https://github.com/inthepoche/poche/issues/new">{% trans "create an issue" %}</a> {% trans "or" %} <a href="mailto:support@inthepoche.com?subject=Wrong%20display%20in%20poche&amp;body={{ entry.url|url_encode }}">{% trans "contact us by mail" %}</a></p>
             </div>
         </div>
 {% endblock %}
\ No newline at end of file