]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
prepare to multi users
authorNicolas Lœuillet <nicolas.loeuillet@gmail.com>
Tue, 6 Aug 2013 12:18:03 +0000 (14:18 +0200)
committerNicolas Lœuillet <nicolas.loeuillet@gmail.com>
Tue, 6 Aug 2013 12:18:03 +0000 (14:18 +0200)
README.md
inc/poche/Poche.class.php
inc/poche/User.class.php [new file with mode: 0644]
inc/poche/config.inc.php
inc/store/sqlite.class.php
inc/store/store.class.php
locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo
locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.po
tpl/css/style.css
tpl/login.twig

index 65e2f03affd85f261d7a30c8e6b0fc276a8027a6..f4015620cef2959d6fa7c093fd35633721cb6e9c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -52,7 +52,7 @@ location ~ /(db) {
 See the documentation on our website : [inthepoche.com](http://inthepoche.com).
 
 ## License
-Copyright © 2010-2013 Nicolas Lœuillet <nicolas@loeuillet.org>
+Copyright © 2010-2013 Nicolas Lœuillet <nicolas.loeuillet@gmail.com>
 This work is free. You can redistribute it and/or modify it under the
 terms of the Do What The Fuck You Want To Public License, Version 2,
 as published by Sam Hocevar. See the COPYING file for more details.
\ No newline at end of file
index 789d6647e8558a9f22774a3fd93c1a4f34b1ccbb..2c0c73f92ebc9683cba5cb5d65890a8fb361b522 100644 (file)
@@ -10,6 +10,7 @@
 
 class Poche
 {
+    public $user;
     public $store;
     public $tpl;
     public $messages;
@@ -26,17 +27,20 @@ class Poche
         {
             $this->install();
         }
-
-        $this->saveUser();
     }
 
     private function init() 
     {
+        Tools::initPhp();
+        Session::init();
+        $this->user = isset($_SESSION['poche_user']) ? $_SESSION['poche_user'] : array();
+
         # l10n
-        putenv('LC_ALL=' . LANG);
-        setlocale(LC_ALL, LANG);
-        bindtextdomain(LANG, LOCALE); 
-        textdomain(LANG); 
+        $language = ($this->user->getConfigValue('language')) ? $this->user->getConfigValue('language') : LANG;
+        putenv('LC_ALL=' . $language);
+        setlocale(LC_ALL, $language);
+        bindtextdomain($language, LOCALE); 
+        textdomain($language); 
 
         # template engine
         $loader = new Twig_Loader_Filesystem(TPL);
@@ -48,10 +52,9 @@ class Poche
         $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain');
         $this->tpl->addFilter($filter);
 
-        $this->pagination = new Paginator(PAGINATION, 'p');
-
-        Tools::initPhp();
-        Session::init();
+        # Pagination
+        $pager = ($this->user->getConfigValue('pager')) ? $this->user->getConfigValue('pager') : PAGINATION;
+        $this->pagination = new Paginator($pager, 'p');
     }
 
     private function install() 
@@ -77,12 +80,6 @@ class Poche
         exit();
     }
 
-    private function saveUser()
-    {
-        $_SESSION['login'] = (isset ($_SESSION['login'])) ? $_SESSION['login'] : $this->store->getLogin();
-        $_SESSION['pass'] = (isset ($_SESSION['pass'])) ? $_SESSION['pass'] : $this->store->getPassword();
-    }
-
     /**
      * Call action (mark as fav, archive, delete, etc.)
      */
@@ -221,7 +218,11 @@ class Poche
     public function login($referer)
     {
         if (!empty($_POST['login']) && !empty($_POST['password'])) {
-            if (Session::login($_SESSION['login'], $_SESSION['pass'], $_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']))) {
+            $user = $this->store->login($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']));
+            if ($user != array()) {
+                # Save login into Session
+                Session::login($user['username'], $user['password'], $_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']), array('poche_user' => new User($user)));
+
                 Tools::logm('login successful');
                 $this->messages->add('s', 'welcome to your poche');
                 if (!empty($_POST['longlastingsession'])) {
@@ -248,6 +249,7 @@ class Poche
     {
         $this->messages->add('s', 'see you soon!');
         Tools::logm('logout');
+        $this->user = array();
         Session::logout();
         Tools::redirect();
     }
diff --git a/inc/poche/User.class.php b/inc/poche/User.class.php
new file mode 100644 (file)
index 0000000..ef47730
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+/**
+ * poche, a read it later open source system
+ *
+ * @category   poche
+ * @author     Nicolas Lœuillet <support@inthepoche.com>
+ * @copyright  2013
+ * @license    http://www.wtfpl.net/ see COPYING file
+ */
+
+class User
+{
+    public $id;
+    public $username;
+    public $name;
+    public $password;
+    public $email;
+    public $config;
+
+    function __construct($user)
+    {
+        $this->id = $user['id'];
+        $this->username = $user['username'];
+        $this->name = $user['name'];
+        $this->password = $user['password'];
+        $this->email = $user['email'];
+        $this->config = $user['config'];
+    }
+
+    function getConfigValue($name) {
+        return (isset($this->config[$name])) ? $this->config[$name] : FALSE;
+    }
+}
\ No newline at end of file
index ee0f6616455fb756554500dbffcd38772d217086..d0c686f0e4754368ab72329f67b869fecef42731 100644 (file)
@@ -21,12 +21,13 @@ define ('ABS_PATH', 'assets/');
 define ('TPL', './tpl');
 define ('LOCALE', './locale');
 define ('CACHE', './cache');
-define ('LANG', 'fr_FR.UTF8');
+define ('LANG', 'en_EN.UTF8');
 define ('PAGINATION', '10');
 define ('THEME', 'light');
 $storage_type = 'sqlite'; # sqlite, mysql, (file, not yet)
 
 # /!\ Be careful if you change the lines below /!\
+require_once './inc/poche/User.class.php';
 require_once './inc/poche/Tools.class.php';
 require_once './inc/poche/Url.class.php';
 require_once './inc/3rdparty/class.messages.php';
index 3e391e4035713f4f01dc22f6d78c0296a6e034d6..3cc5276d13c69a40b13f8052758004641113db58 100644 (file)
@@ -25,59 +25,59 @@ class Sqlite extends Store {
     }
 
     public function isInstalled() {
-        $sql        = "SELECT name FROM sqlite_sequence WHERE name=?";
-        $query      = $this->executeQuery($sql, array('config'));
-        $hasConfig  = $query->fetchAll();
+        $sql = "SELECT username FROM users WHERE id=?";
+        $query = $this->executeQuery($sql, array('1'));
+        $hasAdmin = $query->fetchAll();
 
-        if (count($hasConfig) == 0) 
-            return FALSE;
-
-        if (!$this->getLogin() || !$this->getPassword()) 
+        if (count($hasAdmin) == 0) 
             return FALSE;
 
         return TRUE;
     }
 
     public function install($login, $password) {
-        $this->getHandle()->exec('CREATE TABLE IF NOT EXISTS "config" ("id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "name" VARCHAR UNIQUE, "value" BLOB)');
-
-        $this->handle->exec('CREATE TABLE IF NOT EXISTS "entries" ("id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE , "title" VARCHAR, "url" VARCHAR UNIQUE , "is_read" INTEGER DEFAULT 0, "is_fav" INTEGER DEFAULT 0, "content" BLOB)');
+        $sql = 'INSERT INTO users ( username, password ) VALUES (?, ?)';
+        $params = array($login, $password);
+        $query = $this->executeQuery($sql, $params);
 
-        if (!$this->getLogin()) {
-            $sql_login     = 'INSERT INTO config ( name, value ) VALUES (?, ?)';
-            $params_login  = array('login', $login);
-            $query         = $this->executeQuery($sql_login, $params_login);
-        }
+        return TRUE;
+    }
 
-        if (!$this->getPassword()) {
-            $sql_pass     = 'INSERT INTO config ( name, value ) VALUES (?, ?)';
-            $params_pass  = array('password', $password);
-            $query        = $this->executeQuery($sql_pass, $params_pass);
+    private function getConfigUser($id) {
+        $sql = "SELECT * FROM users_config WHERE user_id = ?";
+        $query = $this->executeQuery($sql, array($id));
+        $result = $query->fetchAll();
+        $user_config = array();
+        
+        foreach ($result as $key => $value) {
+            $user_config[$value['name']] = $value['value'];
         }
 
-        return TRUE;
+        return $user_config;
     }
 
-    public function getLogin() {
-        $sql    = "SELECT value FROM config WHERE name=?";
-        $query  = $this->executeQuery($sql, array('login'));
+    public function login($username, $password) {
+        $sql    = "SELECT * FROM users WHERE username=? AND password=?";
+        $query  = $this->executeQuery($sql, array($username, $password));
         $login  = $query->fetchAll();
 
-        return isset($login[0]['value']) ? $login[0]['value'] : FALSE;
-    }
-
-    public function getPassword() {
-        $sql    = "SELECT value FROM config WHERE name=?";
-        $query  = $this->executeQuery($sql, array('password'));
-        $pass   = $query->fetchAll();
+        $user = array();
+        if (isset($login[0])) {
+            $user['id'] = $login[0]['id'];
+            $user['username'] = $login[0]['username'];
+            $user['password'] = $login[0]['password'];
+            $user['name'] = $login[0]['name'];
+            $user['email'] = $login[0]['email'];
+            $user['config'] = $this->getConfigUser($login[0]['id']);
+        }
 
-        return isset($pass[0]['value']) ? $pass[0]['value'] : FALSE; 
+        return $user;
     }
 
-    public function updatePassword($password)
+    public function updatePassword($id, $password)
     {
-        $sql_update     = "UPDATE config SET value=? WHERE name='password'";
-        $params_update  = array($password);
+        $sql_update     = "UPDATE users SET password=? WHERE id=?";
+        $params_update  = array($password, $id);
         $query          = $this->executeQuery($sql_update, $params_update);
     }
 
index dd7d4cfeeb1bd53f5a4d8d5a34de0453750d10f2..5f8939b9ba4733d31a56de3378ef67cbc47b3518 100644 (file)
@@ -13,14 +13,10 @@ class Store {
 
     }
 
-    public function getLogin() {
+    public function login() {
 
     }
 
-    public function getPassword() {
-        
-    }
-
     public function add() {
 
     }
index 70d310d9438bc26627c4d2e5c251ba41c623fe43..c0d4a9d6c677a2d8ee6d37dd93c33bc7099c5de2 100644 (file)
Binary files a/locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo and b/locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo differ
index a33a6a6e9c204618070b39520b75d7ed89a868b1..7f8cf784615ce12a10cb538d511dff9b33d5a1fa 100644 (file)
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: poche\n"
-"POT-Creation-Date: 2013-08-02 15:38+0100\n"
-"PO-Revision-Date: 2013-08-02 21:57+0100\n"
+"POT-Creation-Date: 2013-08-06 08:35+0100\n"
+"PO-Revision-Date: 2013-08-06 08:35+0100\n"
 "Last-Translator: Nicolas Lœuillet <nicolas.loeuillet@gmail.com>\n"
 "Language-Team: poche <support@inthepoche.com>\n"
 "Language: Français\n"
@@ -16,96 +16,361 @@ msgstr ""
 "X-Poedit-SourceCharset: UTF-8\n"
 "X-Poedit-SearchPath-0: /var/www/poche-i18n\n"
 
-#: /var/www/poche-i18n/import.php:17
+#: /var/www/poche-i18n/index.php:43
+msgid "poche, a read it later open source system"
+msgstr "poche, a read it later open source system"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:101
+msgid "the link has been added successfully"
+msgstr "le lien a été ajouté avec succès"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:104
+msgid "error during insertion : the link wasn't added"
+msgstr "erreur durant l'insertion : le lien n'a pas été ajouté"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:109
+msgid "error during fetching content : the link wasn't added"
+msgstr "erreur durant la récupération du contenu : le lien n'a pas été ajouté"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:119
+msgid "the link has been deleted successfully"
+msgstr "le lien a été supprimé avec succès"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:123
+msgid "the link wasn't deleted"
+msgstr "le lien n'a pas été supprimé"
+
+#: /var/www/poche-i18n/inc/poche/Tools.class.php:18
+msgid "Oops, it seems you don't have PHP 5."
+msgstr "Oups, il semblerait que PHP 5 ne soit pas installé. "
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:32
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:70
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:50
+msgid "config"
+msgstr "config"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:46
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:31
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:26
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:34
+msgid "home"
+msgstr "accueil"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:54
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:34
+msgid "favorites"
+msgstr "favoris"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:62
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:42
+msgid "archive"
+msgstr "archives"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:74
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:76
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:54
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:56
+msgid "logout"
+msgstr "déconnexion"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:87
+msgid "Bookmarklet"
+msgstr "Bookmarklet"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:91
+msgid ""
+"Thanks to the bookmarklet, you will be able to easily add a link to your "
+"poche."
+msgstr ""
+"Grâce au bookmarklet, vous pouvez ajouter facilement un lien dans votre "
+"poche."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:93
+msgid "Have a look to this documentation:"
+msgstr "Jetez un œil à la documentation :"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:97
+msgid "Drag & drop this link to your bookmarks bar and have fun with poche."
+msgstr ""
+"Glissez / déposez ce lien dans votre barre de favoris de votre navigateur et "
+"prenez du bon temps avec poche."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:103
+msgid "poche it!"
+msgstr "poche-le !"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:108
+msgid "Updating poche"
+msgstr "Mettre à jour poche"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:113
+msgid "your version"
+msgstr "votre version"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:119
+msgid "latest stable version"
+msgstr "dernière version stable"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:125
+msgid "a more recent stable version is available."
+msgstr "une version stable plus récente est disponible."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:128
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:142
+msgid "you are up to date."
+msgstr "vous êtes à jour."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:133
+msgid "latest dev version"
+msgstr "dernière version de développement"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:139
+msgid "a more recent development version is available."
+msgstr "une version de développement plus récente est disponible."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:150
+msgid "Change your password"
+msgstr "Modifier votre mot de passe"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:157
+msgid "New password:"
+msgstr "Nouveau mot de passe :"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:161
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:171
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:60
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:68
+msgid "Password"
+msgstr "Mot de passe"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:167
+msgid "Repeat your new password:"
+msgstr "Répétez le nouveau mot de passe :"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:177
+msgid "Update"
+msgstr "Mettre à jour"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:193
+msgid "Import"
+msgstr "Import"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:197
 msgid "Please execute the import script locally, it can take a very long time."
 msgstr "Merci d'exécuter l'import en local, cela peut prendre du temps. "
 
-#: /var/www/poche-i18n/import.php:17
-msgid "Please choose between Pocket & Readabilty :"
-msgstr "Merci de choisir entre Pocket & Readability :"
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:201
+msgid "More infos in the official doc:"
+msgstr "Plus d'infos sur la documentation officielle :"
 
-#: /var/www/poche-i18n/import.php:17
-msgid "Bye bye Pocket, let's go !"
-msgstr "Bye bye Pocket, en route !"
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:206
+msgid "import from Pocket"
+msgstr "l'import depuis Pocket est terminé."
 
-#: /var/www/poche-i18n/import.php:17
-msgid "Bye bye Readability, let's go !"
-msgstr "Bye bye Readability, en route !"
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:210
+msgid "import from Readability"
+msgstr "l'import depuis Readability est terminé."
 
-#: /var/www/poche-i18n/import.php:48
-msgid "Import from Pocket completed."
-msgstr "L'import depuis Poche est terminé."
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:214
+msgid "import from Instapaper"
+msgstr "Import depuis Instapaper"
 
-#: /var/www/poche-i18n/import.php:48 /var/www/poche-i18n/import.php:66
-msgid "Welcome to poche !"
-msgstr "Bienvenue dans poche !"
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:220
+msgid "Export your poche datas"
+msgstr "Exporter vos données de poche"
 
-#: /var/www/poche-i18n/import.php:66
-msgid "Import from Readability completed."
-msgstr "L'import depuis Readability est terminé."
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:224
+msgid "Click here"
+msgstr "Cliquez-ici"
 
-#: /var/www/poche-i18n/import.php:70
-msgid "Error with the import."
-msgstr "Erreur durant l'import."
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:226
+msgid "to export your poche datas."
+msgstr "pour exporter vos données de poche."
 
-#: /var/www/poche-i18n/import.php:70
-msgid "Back to poche"
-msgstr "Retour à poche"
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:46
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:139
+#: /var/www/poche-i18n/cache/30/97/b548692380c89d047a16cec7af79.php:22
+msgid "back to home"
+msgstr "retour à l'accueil"
 
-#: /var/www/poche-i18n/index.php:18
-msgid "Wrong token."
-msgstr "Mauvais jeton."
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:50
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:147
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:119
+msgid "toggle mark as read"
+msgstr "marquer comme lu"
 
-#: /var/www/poche-i18n/index.php:43
-msgid "Login failed !"
-msgstr "Connexion échouée."
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:60
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:157
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:129
+msgid "toggle favorite"
+msgstr "favori"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:70
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:167
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:139
+msgid "delete"
+msgstr "supprimer"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:82
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:179
+msgid "tweet"
+msgstr "tweeter"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:93
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:190
+msgid "email"
+msgstr "envoyer par email"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:109
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:125
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:153
+msgid "original"
+msgstr "original"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:143
+msgid "back to top"
+msgstr "retour en haut de page"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:198
+msgid "this article appears wrong?"
+msgstr "cet article s'affiche mal ?"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:200
+msgid "create an issue"
+msgstr "créer un ticket"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:202
+msgid "or"
+msgstr "ou"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:206
+msgid "contact us by mail"
+msgstr "contactez-nous par email"
+
+#: /var/www/poche-i18n/cache/88/8a/ee3b7080c13204391c14947a0c2c.php:22
+msgid "powered by"
+msgstr "propulsé par"
 
-#: /var/www/poche-i18n/index.php:59
-msgid "your password has been updated"
-msgstr "Votre mot de passe a été mis à jour. "
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:31
+msgid "installation"
+msgstr "installation"
 
-#: /var/www/poche-i18n/index.php:62
-msgid "in demo mode, you can't update password"
-msgstr "En mode démo, le mot de passe ne peut être modifié."
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:42
+msgid "install your poche"
+msgstr "installez votre poche"
 
-#: /var/www/poche-i18n/index.php:66
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:47
 msgid ""
-"your password can't be empty and you have to repeat it in the second field"
+"poche is still not installed. Please fill the below form to install it. "
+"Don't hesitate to <a href='http://inthepoche.com/?pages/Documentation'>read "
+"the documentation on poche website</a>."
 msgstr ""
-"Votre mot de passe ne peut être vide et vous devez le répéter dans le second "
-"champ."
+"poche n'est pas encore installé. Merci de remplir les champs ci-dessous pour "
+"l'installer. N'hésitez pas à <a href='http://inthepoche.com/?pages/"
+"Documentation'>lire la documentation sur le site de poche</a>."
 
-#: /var/www/poche-i18n/index.php:84
-msgid "poche, a read it later open source system"
-msgstr "poche, a read it later open source system"
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:53
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:55
+msgid "Login"
+msgstr "Nom d'utilisateur"
 
-#: /var/www/poche-i18n/inc/MyTool.class.php:18
-msgid "Oops, it seems you don't have PHP 5."
-msgstr "Oups, il semblerait que PHP 5 ne soit pas installé. "
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:67
+msgid "Repeat your password"
+msgstr "Répétez votre mot de passe"
 
-#: /var/www/poche-i18n/inc/functions.php:354
-msgid "the link has been added successfully"
-msgstr "le lien a été ajouté avec succès"
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:74
+msgid "Install"
+msgstr "Installer"
 
-#: /var/www/poche-i18n/inc/functions.php:357
-msgid "error during insertion : the link wasn't added"
-msgstr "erreur durant l'insertion : le lien n'a pas été ajouté"
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:31
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:42
+msgid "login to your poche"
+msgstr "Se connecter à votre poche"
 
-#: /var/www/poche-i18n/inc/functions.php:361
-msgid "error during url preparation : the link wasn't added"
-msgstr "erreur durant l'insertion : le lien n'a pas été ajouté"
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:48
+msgid "you are in demo mode, some features may be disabled."
+msgstr ""
+"vous êtes en mode démo, certaines fonctionnalités sont peut-être désactivées."
 
-#: /var/www/poche-i18n/inc/functions.php:366
-msgid "error during url preparation : the link is not valid"
-msgstr "erreur durant la préparation de l'URL : le lien n'est pas valide"
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:80
+msgid "Stay signed in"
+msgstr "rester connecté"
 
-#: /var/www/poche-i18n/inc/functions.php:375
-msgid "the link has been deleted successfully"
-msgstr "le lien a été supprimé avec succès"
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:86
+msgid "(Do not check on public computers)"
+msgstr "(à ne pas cocher sur un ordinateur public)"
 
-#: /var/www/poche-i18n/inc/functions.php:379
-msgid "the link wasn't deleted"
-msgstr "le lien n'a pas été supprimé"
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:93
+msgid "Sign in"
+msgstr ""
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:55
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:57
+msgid "by date asc"
+msgstr "par date asc"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:59
+msgid "by date"
+msgstr "par date"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:65
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:67
+msgid "by date desc"
+msgstr "par date desc"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:75
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:77
+msgid "by title asc"
+msgstr "par titre asc"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:79
+msgid "by title"
+msgstr "par titre"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:85
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:87
+msgid "by title desc"
+msgstr "par titre desc"
+
+#~ msgid "Please choose between Pocket & Readabilty :"
+#~ msgstr "Merci de choisir entre Pocket & Readability :"
+
+#~ msgid "Bye bye Pocket, let's go !"
+#~ msgstr "Bye bye Pocket, en route !"
+
+#~ msgid "Bye bye Readability, let's go !"
+#~ msgstr "Bye bye Readability, en route !"
+
+#~ msgid "Welcome to poche !"
+#~ msgstr "Bienvenue dans poche !"
+
+#~ msgid "Error with the import."
+#~ msgstr "Erreur durant l'import."
+
+#~ msgid "Wrong token."
+#~ msgstr "Mauvais jeton."
+
+#~ msgid "Login failed !"
+#~ msgstr "Connexion échouée."
+
+#~ msgid "your password has been updated"
+#~ msgstr "Votre mot de passe a été mis à jour. "
+
+#~ msgid "in demo mode, you can't update password"
+#~ msgstr "En mode démo, le mot de passe ne peut être modifié."
+
+#~ msgid ""
+#~ "your password can't be empty and you have to repeat it in the second field"
+#~ msgstr ""
+#~ "Votre mot de passe ne peut être vide et vous devez le répéter dans le "
+#~ "second champ."
+
+#~ msgid "error during url preparation : the link wasn't added"
+#~ msgstr "erreur durant l'insertion : le lien n'a pas été ajouté"
+
+#~ msgid "error during url preparation : the link is not valid"
+#~ msgstr "erreur durant la préparation de l'URL : le lien n'est pas valide"
 
 #~ msgid "TEST"
 #~ msgstr "NICOLAS"
index 8808b7ed91bff5f41b7d4fd031f8a36aafcfd05b..d23c18964c89332a770fe59a9a3a043c94c80d8e 100644 (file)
@@ -80,11 +80,7 @@ header h1 {
 }
 
 #main #content .entrie {
-    border-bottom: 1px solid #222222;
-}
-
-#main .entrie h2 a {
-    text-decoration: none;
+    border-bottom: 1px dashed #222222;
 }
 
 #main .entrie ul.tools {
index b24674e2be493e0295b16679084e4dfa07dfa7cd..0ae130bc0240b49f305b1946fae412d941c30431 100644 (file)
@@ -23,7 +23,7 @@
                                                </div>
                                        </div>
                                        <div class="row mts txtcenter">
-                                               <button class="bouton" type="submit" tabindex="4">{% trans "Sign in" %}</button>
+                                               <button class="bouton" type="submit" tabindex="4">{% trans "Login" %}</button>
                                        </div>
                 </fieldset>
                 <input type="hidden" name="returnurl" value="{{ referer }}">