]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #141 from inthepoche/dev 1.0-beta3
authorNicolas Lœuillet <nicolas.loeuillet@gmail.com>
Sat, 17 Aug 2013 18:27:13 +0000 (11:27 -0700)
committerNicolas Lœuillet <nicolas.loeuillet@gmail.com>
Sat, 17 Aug 2013 18:27:13 +0000 (11:27 -0700)
beta3

21 files changed:
.gitignore
CONTRIBUTING.md [new file with mode: 0644]
INSTALL.md
README.md
inc/poche/Poche.class.php
inc/poche/Tools.class.php
inc/poche/Url.class.php
inc/poche/config.inc.php [changed mode: 0644->0755]
inc/poche/define.inc.php [new file with mode: 0644]
index.php
install/update.php [new file with mode: 0644]
locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo [new file with mode: 0644]
locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po [new file with mode: 0644]
locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo [new file with mode: 0644]
locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po [new file with mode: 0644]
locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo [moved from locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo with 100% similarity]
locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po [moved from locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.po with 100% similarity]
robots.txt [new file with mode: 0644]
tpl/_head.twig
tpl/error.twig [new file with mode: 0644]
tpl/install.twig

index 5e992c2ec87d16f8fa2c68791a82ce51a0199f70..17af57cf3b97eba95231af4bf070714b8b783611 100644 (file)
@@ -2,4 +2,5 @@ vendor
 composer.phar
 db/poche.sqlite
 output
-phpdoc*
\ No newline at end of file
+phpdoc*
+inc/config/myconfig.inc.php
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..9818ae0
--- /dev/null
@@ -0,0 +1,3 @@
+# How contributing
+
+When you create an issue on github, don't forget to give us your poche version. You can find it in config screen or in ./inc/poche/config.inc.php.
\ No newline at end of file
index f32b9bc3688fc4eb27c03b4d0a63499f498e20d0..63000f264b0c6ce80f4e6358244c1d70d7f62529 100644 (file)
@@ -1,53 +1,64 @@
 # Installing poche
 
-Get the [latest version](https://github.com/inthepoche/poche/archive/1.0-beta1.zip) of poche on github. Unzip it and upload it on your server.
+## requirements
 
-your datas can be stored on sqlite, postgres or mysql databases.
+it's highly recommended to have php cURL and tidy_parse_string to fetch articles content. 
 
-Edit /inc/poche/config.inc.php :
+## you don't want to install twig (the template engine) by yourself
 
-```php
-define ('STORAGE','sqlite'); # postgres, mysql, sqlite
-define ('STORAGE_SERVER', 'localhost'); # leave blank for sqlite
-define ('STORAGE_DB', 'poche'); # only for postgres & mysql
-define ('STORAGE_SQLITE', './db/poche.sqlite');
-define ('STORAGE_USER', 'user'); # leave blank for sqlite
-define ('STORAGE_PASSWORD', 'pass'); # leave blank for sqlite
-```
+Download this file http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip
+
+Extract this file on your server.
 
-poche must have write access on assets, cache and db directories.
+## you want to install twig by yourself 
 
-[PHP cURL](http://www.php.net/manual/en/book.curl.php) & [tidy_parse_string](http://www.php.net/manual/en/tidy.parsestring.php) are recommended.
+Download the latest version here : http://www.inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche
 
-## twig
-poche now uses twig for templating. You have to install twig. 
+Extract this file on your server.
 
-Install composer in your project : 
-```bash
+```php
 curl -s http://getcomposer.org/installer | php
-```
-Install via composer : 
-```bash
 php composer.phar install
 ```
 
-If you don't want to install twig by yourself, you can download [this file](http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip).
+### using sqlite
+
+Copy / paste install/poche.sqlite in db folder.
+
+### using mysql or postgresql
+
+Execute the sql file in /install (mysql.sql or postgres.sql)
+
+Then, go to step 3.
+
+# Upgrading poche
+
+Replace all the files except **db/poche.sqlite**. Also remember to edit the file /inc/poche/config.inc.php.
+
+## Upgrading from poche <= 0.3
+
+You have to execute http://yourpoche/install/update_sqlite_from_0_to_1.php
+
+Then, go to step 3.
+
+## Upgrading from poche >= 1.0 beta1
+
+Nothing to do here. 
+
+Then, go to step 3.
+
+# Here is the step 3
 
-## storage in sqlite 
-You have to install [sqlite for php](http://www.php.net/manual/en/book.sqlite.php) on your server.
+You must have write access on assets, cache and db directories. These directories may not exist, you'll have to create them.
 
-Copy /install/poche.sqlite in /db
+You can use poche ! Enjoy.
 
-## storage in mysql
-Execute /install/mysql.sql file in your database.
+# Some problems you may encounter
 
-## storage in postgres 
-Execute /install/postgres.sql file in your database.
+## Blank page
 
-## upgrading from poche <= 0.3
-With poche <= 0.3, all your datas were stored in a sqlite file. The structure of this file changed. 
+Be sure to have write access on assets, cache and db directories.
 
-You have to execute http://yourpoche/install/update_sqlite_from_0_to_1.php before using this new version.
+## PHP Fatal error:  Call to a member function fetchAll() on a non-object in /var/www/poche/inc/poche/Database.class.php on line 42
 
-## installing poche
-you can go on your poche http://yourpoche. You have to fill the fields and that's all !
\ No newline at end of file
+If you want to install poche, delete the db/poche.sqlite file and copy / paste the install/poche.sqlite in /db. Be sure to have write access.
\ No newline at end of file
index 689ad63b5a924f84f92a17c9ce4c7e2ed2910ebb..27f549d9116e6be4bddc9965323c7a56d2afd91e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,42 +1,26 @@
-# poche
-Abandon Pocket, Instapaper and other Readability service : adopt poche. It is the same, but it is open source. Moreover, you can migrate from Pocket & Readability.
-
-![poche](http://inthepoche.com/img/logo.png)
-
-The website of poche is [inthepoche.com](http://inthepoche.com).
+# what is poche ?
+Abandon Pocket, Instapaper and other Readability service : adopt poche. It is the same, but it is free (like in freedom) and open source. 
+
+## Some features
+
+* adding, deleting, archiving and setting as favorite a link
+* import from pocket / readability / instapaper
+* share links by email and on twitter
+* a design adapted to tablets and smartphones
+* extensions for Chrome and Firefox
+* Android application
+* multi languages (very soon!)
+* multi users (very soon!)
+* update notification in configuration screen
+* many storage modes (sqlite, mysql, postgresql)
+* many templates
+* ...
 
 To test poche, a demo website is online : [demo.inthepoche.com](http://demo.inthepoche.com) (login poche, password poche).
 
-To get news from poche, [follow us on twitter](http://twitter.com/getpoche) or [read the poche blog](http://inthepoche.com/blog). A Google Group is also available : [poche-users](https://groups.google.com/forum/#!forum/poche-users).
-
-[![flattr](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/1265480/poche-a-read-it-later-open-source-system)
-
 ## Installation
 
-Read the INSTALL.md file.
-
-## Security
-You **have** to protect your db/poche.sqlite file. Modify the virtual host of your website to add this condition :
-```apache
-<Files ~ "\.sqlite$">
-    Order allow,deny
-    Deny from all
-</Files>
-```
-
-Nginx version:
-```nginx
-location ~ /(db) {
-    deny all;
-    return 404;
-}
-```
-
-## Usage
-See the documentation on our website : [inthepoche.com](http://inthepoche.com).
-
-## Travis
-[![Build Status](https://api.travis-ci.org/inthepoche/poche.png?branch=dev)](http://travis-ci.org/#!/inthepoche/poche)
+Read the [INSTALL.md file](https://github.com/inthepoche/poche/blob/master/INSTALL.md).
 
 ## License
 Copyright © 2010-2013 Nicolas Lœuillet <nicolas.loeuillet@gmail.com>
index 2af49acd421a4f4b3a3fe757df3c95596f72e234..e0dc0d201daa27532d7aee8c82cfdf00812874a8 100644 (file)
@@ -18,11 +18,10 @@ class Poche
 
     function __construct()
     {
-        if (file_exists('./install') && !DEBUG_POCHE) {
-            Tools::logm('folder /install exists');
-            die('To install your poche with sqlite, copy /install/poche.sqlite in /db and delete the folder /install. you have to delete the /install folder before using poche.');
+        $this->initTpl();
+        if (!$this->checkBeforeInstall()) {
+            exit;
         }
-
         $this->store = new Database();
         $this->init();
         $this->messages = new Messages();
@@ -34,27 +33,44 @@ class Poche
         }
     }
 
-    private function init() 
+    /**
+     * all checks before installation.
+     * @return boolean 
+     */
+    private function checkBeforeInstall()
     {
-        Tools::initPhp();
-        Session::init();
+        $msg = '';
+        $allIsGood = TRUE;
 
-        if (isset($_SESSION['poche_user']) && $_SESSION['poche_user'] != array()) {
-            $this->user = $_SESSION['poche_user'];
+        if (!is_writable(CACHE)) {
+            Tools::logm('you don\'t have write access on cache directory');
+            die('You don\'t have write access on cache directory.');
         }
-        else {
-            # fake user, just for install & login screens
-            $this->user = new User();
-            $this->user->setConfig($this->getDefaultConfig());
+        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.';
+            $allIsGood = FALSE;
+        }
+        else if (file_exists('./install') && !DEBUG_POCHE) {
+            $msg = 'If you want to update your poche, you just have to delete /install folder. <br />To install your poche with sqlite, copy /install/poche.sqlite in /db and delete the folder /install. you have to delete the /install folder before using poche.';
+            $allIsGood = FALSE;
+        }
+        else if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) {
+            Tools::logm('you don\'t have write access on sqlite file');
+            $msg = 'You don\'t have write access on sqlite file.';
+            $allIsGood = FALSE;
+        }
+        
+        if (!$allIsGood) {
+            echo $this->tpl->render('error.twig', array(
+                'msg' => $msg
+            ));
         }
 
-        # l10n
-        $language = $this->user->getConfigValue('language');
-        putenv('LC_ALL=' . $language);
-        setlocale(LC_ALL, $language);
-        bindtextdomain($language, LOCALE); 
-        textdomain($language); 
+        return $allIsGood;
+    }
 
+    private function initTpl()
+    {
         # template engine
         $loader = new Twig_Loader_Filesystem(TPL);
         if (DEBUG_POCHE) {
@@ -72,6 +88,28 @@ class Poche
         # filter for reading time
         $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
         $this->tpl->addFilter($filter);
+    }
+
+    private function init() 
+    {
+        Tools::initPhp();
+        Session::init();
+
+        if (isset($_SESSION['poche_user']) && $_SESSION['poche_user'] != array()) {
+            $this->user = $_SESSION['poche_user'];
+        }
+        else {
+            # fake user, just for install & login screens
+            $this->user = new User();
+            $this->user->setConfig($this->getDefaultConfig());
+        }
+
+        # l10n
+        $language = $this->user->getConfigValue('language');
+        putenv('LC_ALL=' . $language);
+        setlocale(LC_ALL, $language);
+        bindtextdomain($language, LOCALE); 
+        textdomain($language); 
 
         # Pagination
         $this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p');
@@ -87,10 +125,12 @@ class Poche
             if (($_POST['password'] == $_POST['password_repeat']) 
                 && $_POST['password'] != "" && $_POST['login'] != "") {
                 # let's rock, install poche baby !
-                $this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']));
-                Session::logout();
-                Tools::logm('poche is now installed');
-                Tools::redirect();
+                if ($this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login'])))
+                {
+                    Session::logout();
+                    Tools::logm('poche is now installed');
+                    Tools::redirect();
+                }
             }
             else {
                 Tools::logm('error during installation');
@@ -180,6 +220,7 @@ class Poche
                 }
                 break;
             default:
+                Tools::logm('action ' . $action . 'doesn\'t exist');
                 break;
         }
     }
@@ -409,9 +450,11 @@ class Poche
         $str_data = file_get_contents("./readability");
         $data = json_decode($str_data,true);
         Tools::logm('starting import from Readability');
-
+        $count = 0;
         foreach ($data as $key => $value) {
-            $url = '';
+            $url = NULL;
+            $favorite = FALSE;
+            $archive = FALSE;
             foreach ($value as $attr => $attr_value) {
                 if ($attr == 'article__url') {
                     $url = new Url(base64_encode($attr_value));
@@ -420,20 +463,30 @@ class Poche
                 if (STORAGE == 'postgres') {
                     $sequence = 'entries_id_seq';
                 }
-                // if ($attr_value == 'favorite' && $attr_value == 'true') {
-                //     $last_id = $this->store->getLastId($sequence);
-                //     $this->store->favoriteById($last_id);
-                //     $this->action('toogle_fav', $url, $last_id, TRUE);
-                // }
-                if ($attr_value == 'archive' && $attr_value == 'true') {
+                if ($attr_value == 'true') {
+                    if ($attr == 'favorite') {
+                        $favorite = TRUE;
+                    }
+                    if ($attr == 'archive') {
+                        $archive = TRUE;
+                    }
+                }
+            }
+            # we can add the url
+            if (!is_null($url) && $url->isCorrect()) {
+                $this->action('add', $url, 0, TRUE);
+                $count++;
+                if ($favorite) {
+                    $last_id = $this->store->getLastId($sequence);
+                    $this->action('toggle_fav', $url, $last_id, TRUE);
+                }
+                if ($archive) {
                     $last_id = $this->store->getLastId($sequence);
                     $this->action('toggle_archive', $url, $last_id, TRUE);
                 }
             }
-            if ($url->isCorrect())
-                $this->action('add', $url, 0, TRUE);
         }
-        $this->messages->add('s', _('import from Readability completed'));
+        $this->messages->add('s', _('import from Readability completed. ' . $count . ' new links.'));
         Tools::logm('import from Readability completed');
         Tools::redirect();
     }
index 0eb0d9ea26e3807c1e6a9ec2d40a8cc5cb0ea4bf..1baf745d909895506d87a8946ea15ce29f1a252e 100644 (file)
@@ -233,4 +233,30 @@ class Tools
 
         return $minutes;
     }
+
+
+    public static function createMyConfig()
+    {
+        $myconfig_file = './inc/poche/myconfig.inc.php';
+
+        if (version_compare(POCHE_VERSION, '1.0-beta3') == 1) {
+            # $myconfig_file is only created with poche > 1.0-beta3
+            # in 1.0-beta3, the update script creates $myconfig_file
+
+            if (!is_writable('./inc/poche/')) {
+                self::logm('you don\'t have write access to create ./inc/poche/myconfig.inc.php');
+                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', '" . md5(time() . $_SERVER['SCRIPT_FILENAME'] . rand()) . "');" . "\r\n");
+                fwrite($fp, "define ('LANG', 'en_EN.utf8');" . "\r\n");
+                fclose($fp);
+            }
+        }
+    }
 }
\ No newline at end of file
index f4a8f99e6377dee187142db7495227f8a49860c1..00b0b25758236ac03d4c3e6927e167aa7d3b7749 100644 (file)
@@ -27,7 +27,7 @@ class Url
 
     public function isCorrect()
     {
-        $pattern = '|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i';
+        $pattern = '|^(.*:)//([a-z\-.]+)(:[0-9]+)?(.*)$|i';
 
         return preg_match($pattern, $this->url);
     }
old mode 100644 (file)
new mode 100755 (executable)
index 321784d..4122ff1
@@ -8,47 +8,30 @@
  * @license    http://www.wtfpl.net/ see COPYING file
  */
 
-# storage
-define ('STORAGE','sqlite'); # postgres, mysql, sqlite
-define ('STORAGE_SERVER', 'localhost'); # leave blank for sqlite
-define ('STORAGE_DB', 'poche'); # only for postgres & mysql
-define ('STORAGE_SQLITE', './db/poche.sqlite');
-define ('STORAGE_USER', 'postgres'); # leave blank for sqlite
-define ('STORAGE_PASSWORD', 'postgres'); # leave blank for sqlite
-
-define ('POCHE_VERSION', '1.0-beta1');
-define ('MODE_DEMO', FALSE);
-define ('DEBUG_POCHE', FALSE);
-define ('CONVERT_LINKS_FOOTNOTES', FALSE);
-define ('REVERT_FORCED_PARAGRAPH_ELEMENTS', FALSE);
-define ('DOWNLOAD_PICTURES', FALSE);
-define ('SHARE_TWITTER', TRUE);
-define ('SHARE_MAIL', TRUE);
-define ('SALT', '464v54gLLw928uz4zUBqkRJeiPY68zCX');
-define ('ABS_PATH', 'assets/');
-define ('TPL', './tpl');
-define ('LOCALE', './locale');
-define ('CACHE', './cache');
-define ('LANG', 'en_EN.UTF8');
-define ('PAGINATION', '10');
-define ('THEME', 'light');
+require_once __DIR__ . '/../../inc/poche/define.inc.php';
 
 # /!\ 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';
-require_once './inc/poche/Poche.class.php';
-require_once './inc/3rdparty/Readability.php';
-require_once './inc/3rdparty/Encoding.php';
-require_once './inc/poche/Database.class.php';
-require_once './vendor/autoload.php';
-require_once './inc/3rdparty/simple_html_dom.php';
-require_once './inc/3rdparty/paginator.php';
-require_once './inc/3rdparty/Session.class.php';
+if (!file_exists(__DIR__ . '/../../vendor/autoload.php')) {
+    die('Twig does not seem installed. Have a look at <a href="http://inthepoche.com/?pages/Documentation">the documentation.</a>');
+}
+
+if (file_exists(__DIR__ . '/../../inc/poche/myconfig.inc.php')) {
+    require_once __DIR__ . '/../../inc/poche/myconfig.inc.php';
+}
+require_once __DIR__ . '/../../inc/poche/User.class.php';
+require_once __DIR__ . '/../../inc/poche/Url.class.php';
+require_once __DIR__ . '/../../inc/3rdparty/class.messages.php';
+require_once __DIR__ . '/../../inc/poche/Poche.class.php';
+require_once __DIR__ . '/../../inc/3rdparty/Readability.php';
+require_once __DIR__ . '/../../inc/3rdparty/Encoding.php';
+require_once __DIR__ . '/../../inc/poche/Database.class.php';
+require_once __DIR__ . '/../../vendor/autoload.php';
+require_once __DIR__ . '/../../inc/3rdparty/simple_html_dom.php';
+require_once __DIR__ . '/../../inc/3rdparty/paginator.php';
+require_once __DIR__ . '/../../inc/3rdparty/Session.class.php';
 
 if (DOWNLOAD_PICTURES) {
-    require_once './inc/poche/pochePictures.php';
+    require_once __DIR__ . '/../../inc/poche/pochePictures.php';
 }
 
 $poche = new Poche();
diff --git a/inc/poche/define.inc.php b/inc/poche/define.inc.php
new file mode 100644 (file)
index 0000000..c32ca09
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/**
+ * poche, a read it later open source system
+ *
+ * @category   poche
+ * @author     Nicolas Lœuillet <nicolas@loeuillet.org>
+ * @copyright  2013
+ * @license    http://www.wtfpl.net/ see COPYING file
+ */
+
+define ('STORAGE','sqlite'); # postgres, mysql, sqlite
+define ('STORAGE_SERVER', 'localhost'); # leave blank for sqlite
+define ('STORAGE_DB', 'poche'); # only for postgres & mysql
+define ('STORAGE_SQLITE', __DIR__ . '/../../db/poche.sqlite');
+define ('STORAGE_USER', 'postgres'); # leave blank for sqlite
+define ('STORAGE_PASSWORD', 'postgres'); # leave blank for sqlite
+
+define ('MODE_DEMO', FALSE);
+define ('DEBUG_POCHE', FALSE);
+define ('CONVERT_LINKS_FOOTNOTES', FALSE);
+define ('REVERT_FORCED_PARAGRAPH_ELEMENTS', FALSE);
+define ('DOWNLOAD_PICTURES', FALSE);
+define ('SHARE_TWITTER', TRUE);
+define ('SHARE_MAIL', TRUE);
+define ('ABS_PATH', 'assets/');
+define ('TPL', __DIR__ . '/../../tpl');
+define ('LOCALE', __DIR__  . '/../../locale');
+define ('CACHE', __DIR__  . '/../../cache');
+define ('PAGINATION', '10');
+define ('THEME', 'light');
\ No newline at end of file
index a60e4e941704c14a64f9a66c24a2cb7b9dea01e8..51a33d71380b33c298e4e1f60c3d51905ecb7fed 100644 (file)
--- a/index.php
+++ b/index.php
@@ -8,6 +8,9 @@
  * @license    http://www.wtfpl.net/ see COPYING file
  */
 
+require_once './inc/poche/Tools.class.php';
+Tools::createMyConfig();
+
 include dirname(__FILE__).'/inc/poche/config.inc.php';
 
 # Parse GET & REFERER vars
diff --git a/install/update.php b/install/update.php
new file mode 100644 (file)
index 0000000..8c93af6
--- /dev/null
@@ -0,0 +1,79 @@
+<?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/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo
new file mode 100644 (file)
index 0000000..b900f14
Binary files /dev/null and b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo differ
diff --git a/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po
new file mode 100644 (file)
index 0000000..4448bad
--- /dev/null
@@ -0,0 +1,114 @@
+#
+# Translators:
+# HLFH <gaspard.dhautefeuille@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: poche\n"
+"POT-Creation-Date: 2013-08-02 10:26+0100\n"
+"PO-Revision-Date: 2013-08-06 11:48+0100\n"
+"Last-Translator: Nicolas Lœuillet <nicolas.loeuillet@gmail.com>\n"
+"Language-Team: German (http://www.transifex.com/projects/p/poche/language/"
+"de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"X-Poedit-Basepath: /\n"
+"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: /var/www/poche-i18n\n"
+
+#: /var/www/poche-i18n/import.php:17
+msgid "Please execute the import script locally, it can take a very long time."
+msgstr ""
+"Wir danken Ihnen, den Import in lokal zu ausführen, kann es einige Zeit "
+"dauern."
+
+#: /var/www/poche-i18n/import.php:17
+msgid "Please choose between Pocket & Readabilty :"
+msgstr "Wir danken Ihnen, zwischen Pocket und Readability zu wählen:"
+
+#: /var/www/poche-i18n/import.php:17
+msgid "Bye bye Pocket, let's go !"
+msgstr "Auf wiedersehen Pocket, auf geht's!"
+
+#: /var/www/poche-i18n/import.php:17
+msgid "Bye bye Readability, let's go !"
+msgstr "Auf wiedersehen Readability, auf geht's!"
+
+#: /var/www/poche-i18n/import.php:48
+msgid "Import from Pocket completed."
+msgstr "Der Import aus Poche ist abgeschlossen."
+
+#: /var/www/poche-i18n/import.php:48 /var/www/poche-i18n/import.php:66
+msgid "Welcome to poche !"
+msgstr "Willkommen in Poche!"
+
+#: /var/www/poche-i18n/import.php:66
+msgid "Import from Readability completed."
+msgstr "Der Import aus Readability ist abgeschlossen."
+
+#: /var/www/poche-i18n/import.php:70
+msgid "Error with the import."
+msgstr "Fehler beim Import."
+
+#: /var/www/poche-i18n/import.php:70
+msgid "Back to poche"
+msgstr "Rückkehr zu Poche"
+
+#: /var/www/poche-i18n/index.php:18
+msgid "Wrong token."
+msgstr "Ungültiges Token."
+
+#: /var/www/poche-i18n/index.php:43
+msgid "Login failed !"
+msgstr "Fehler bei der Anmeldung."
+
+#: /var/www/poche-i18n/index.php:59
+msgid "your password has been updated"
+msgstr "Ihr Passwort wurde aktualisiert."
+
+#: /var/www/poche-i18n/index.php:62
+msgid "in demo mode, you can't update password"
+msgstr "Im Demo-Modus kann das Passwort nicht geändert werden."
+
+#: /var/www/poche-i18n/index.php:66
+msgid ""
+"your password can't be empty and you have to repeat it in the second field"
+msgstr ""
+"Ihr Passwort darf nicht leer sein, und Sie müssen es in das zweite Feld zu "
+"wiederholen."
+
+#: /var/www/poche-i18n/index.php:83
+msgid "poche, a read it later open source system"
+msgstr "Poche, eine Opensourceanwendung, um später zu lesen"
+
+#: /var/www/poche-i18n/inc/MyTool.class.php:18
+msgid "Oops, it seems you don't have PHP 5."
+msgstr "Hoppla, scheint es, dass PHP 5 nicht installiert ist."
+
+#: /var/www/poche-i18n/inc/functions.php:352
+msgid "the link has been added successfully"
+msgstr "der Link wurde erfolgreich hinzugefügt"
+
+#: /var/www/poche-i18n/inc/functions.php:355
+msgid "error during insertion : the link wasn't added"
+msgstr "Fehler beim Einfügen: der Link wurde nicht hinzugefügt"
+
+#: /var/www/poche-i18n/inc/functions.php:359
+msgid "error during url preparation : the link wasn't added"
+msgstr "Fehler beim Einfügen: der Link wurde nicht hinzugefügt"
+
+#: /var/www/poche-i18n/inc/functions.php:364
+msgid "error during url preparation : the link is not valid"
+msgstr "Fehler bei der Herstellung der URL: der Link ist nicht gültig"
+
+#: /var/www/poche-i18n/inc/functions.php:373
+msgid "the link has been deleted successfully"
+msgstr "der Link wurde erfolgreich hinzugefügt"
+
+#: /var/www/poche-i18n/inc/functions.php:377
+msgid "the link wasn't deleted"
+msgstr "der Link wurde nicht entfernt."
diff --git a/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo
new file mode 100644 (file)
index 0000000..aa3d418
Binary files /dev/null and b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo differ
diff --git a/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po
new file mode 100644 (file)
index 0000000..236297d
--- /dev/null
@@ -0,0 +1,382 @@
+#
+# Translators:
+# Nitche <nicolas.canseco@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: poche\n"
+"POT-Creation-Date: 2013-08-06 08:35+0100\n"
+"PO-Revision-Date: 2013-08-16 19:09+0100\n"
+"Last-Translator: Nicolas Lœuillet <nicolas.loeuillet@gmail.com>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/poche/language/"
+"es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"X-Poedit-Basepath: /\n"
+"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: /var/www/poche-i18n\n"
+
+#: /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 "el enlace a sido agregado con éxito"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:104
+msgid "error during insertion : the link wasn't added"
+msgstr "error en la inserción : el enlace no ha sido agregado"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:109
+msgid "error during fetching content : the link wasn't added"
+msgstr ""
+"error durante la recuperación del contenido : el enlace no a sido agregado"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:119
+msgid "the link has been deleted successfully"
+msgstr "el enlace a sido suprimido con éxito"
+
+#: /var/www/poche-i18n/inc/poche/Poche.class.php:123
+msgid "the link wasn't deleted"
+msgstr "el enlace no ha sido suprimido"
+
+#: /var/www/poche-i18n/inc/poche/Tools.class.php:18
+msgid "Oops, it seems you don't have PHP 5."
+msgstr "Parece que PHP 5 no está instalado"
+
+#: /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 "configuración"
+
+#: /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 "inicio"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:54
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:34
+msgid "favorites"
+msgstr "favoritos"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:62
+#: /var/www/poche-i18n/cache/76/a4/e7c21f2e0ba29104fc654cd8ba41.php:42
+msgid "archive"
+msgstr "archivos"
+
+#: /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 "desconexión "
+
+#: /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 ""
+"Gracias a tu bookmarklet, puedes agregar fácilmente un enlace en tu bolsillo"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:93
+msgid "Have a look to this documentation:"
+msgstr "échale un ojo a la documentación :"
+
+#: /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 ""
+"Arrastra y suelta ese enlace en tu barra de favoritos en tu navegador y "
+"disfruta de tu poche."
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:103
+msgid "poche it!"
+msgstr "pochéalo!"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:108
+msgid "Updating poche"
+msgstr "Actualizar"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:113
+msgid "your version"
+msgstr "su versión"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:119
+msgid "latest stable version"
+msgstr "ultima versión estable"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:125
+msgid "a more recent stable version is available."
+msgstr "una versión estable más reciente 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 "estás al día"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:133
+msgid "latest dev version"
+msgstr "ultima versión de desarollo"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:139
+msgid "a more recent development version is available."
+msgstr "una versión de desarollo más reciente está disponible"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:150
+msgid "Change your password"
+msgstr "Modificar tu contraseña"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:157
+msgid "New password:"
+msgstr "Nueva contraseña :"
+
+#: /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 "Contraseña"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:167
+msgid "Repeat your new password:"
+msgstr "Repetir la nueva contraseña :"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:177
+msgid "Update"
+msgstr "Poner al día"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:193
+msgid "Import"
+msgstr "Importar"
+
+#: /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 ""
+"Gracias por ejecutar la importación en local, esto puede demorar un tiempo"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:201
+msgid "More infos in the official doc:"
+msgstr "Más información en la documentación oficial :"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:206
+msgid "import from Pocket"
+msgstr "la importación desde Pocket está terminada"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:210
+msgid "import from Readability"
+msgstr "la importación desde Readability está terminada"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:214
+msgid "import from Instapaper"
+msgstr "Importar desde Instapaper"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:220
+msgid "Export your poche datas"
+msgstr "Exportar sus datos de poche"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:224
+msgid "Click here"
+msgstr "Haga clic aquí"
+
+#: /var/www/poche-i18n/cache/c9/b0/845a8dc93165e6c00b6b43068799.php:226
+msgid "to export your poche datas."
+msgstr "Para exportar sus datos de 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 "volver a la pagina de inicio"
+
+#: /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 "marcar como leído"
+
+#: /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 "favorito"
+
+#: /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 "suprimir"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:82
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:179
+msgid "tweet"
+msgstr "tweetear"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:93
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:190
+msgid "email"
+msgstr "enviar por mail"
+
+#: /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 "volver arriba"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:198
+msgid "this article appears wrong?"
+msgstr "este articulo no se ve bien ?"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:200
+msgid "create an issue"
+msgstr "crear un ticket"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:202
+msgid "or"
+msgstr "o"
+
+#: /var/www/poche-i18n/cache/7a/1e/68e6b4aec1301ae024cc85232e7c.php:206
+msgid "contact us by mail"
+msgstr "contactarnos por mail"
+
+#: /var/www/poche-i18n/cache/88/8a/ee3b7080c13204391c14947a0c2c.php:22
+msgid "powered by"
+msgstr "propulsado por"
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:31
+msgid "installation"
+msgstr "instalacion"
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:42
+msgid "install your poche"
+msgstr "instala tu poche"
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:47
+msgid ""
+"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 ""
+"poche todavia no està instalado. Gracias de llenar los campos siguientes "
+"para instalarlo. No dudes de <a href='http://inthepoche.com/?pages/"
+"Documentation'>leer la documentacion en el sitio de poche</a>."
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:53
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:55
+msgid "Login"
+msgstr "Nombre de usuario"
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:67
+msgid "Repeat your password"
+msgstr "repita su contraseña"
+
+#: /var/www/poche-i18n/cache/d4/28/e0d08991ec2d8a7b133505e7c651.php:74
+msgid "Install"
+msgstr "Instalar"
+
+#: /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 "conectarse a tu poche"
+
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:48
+msgid "you are in demo mode, some features may be disabled."
+msgstr ""
+"este es el modo de demostración, algunas funcionalidades pueden estar "
+"desactivadas."
+
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:80
+msgid "Stay signed in"
+msgstr "seguir conectado"
+
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:86
+msgid "(Do not check on public computers)"
+msgstr "(no marcar en un ordenador publico)"
+
+#: /var/www/poche-i18n/cache/ae/26/05eb67771213c16bd8c9aaf2d2c4.php:93
+msgid "Sign in"
+msgstr "conectarse"
+
+#: /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 "por fecha ascendiente"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:59
+msgid "by date"
+msgstr "por fecha"
+
+#: /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 "por fecha descendiente"
+
+#: /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 "por titulo ascendiente"
+
+#: /var/www/poche-i18n/cache/dd/a8/530129765655dcde0a70a31a78b6.php:79
+msgid "by title"
+msgstr "por titulo"
+
+#: /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 "por titulo descendiente"
+
+#~ 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"
diff --git a/robots.txt b/robots.txt
new file mode 100644 (file)
index 0000000..77470cb
--- /dev/null
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
\ No newline at end of file
index 145d668f26ecaf0fe78e3391c9d9b2cdbf76187c..60ef888397dcda0cb7f2b7f7180bb8e58961bfa8 100644 (file)
@@ -6,6 +6,6 @@
         <link rel="stylesheet" href="./tpl/css/style.css" media="all">
         <link rel="stylesheet" href="./tpl/css/style-{{ constant('THEME') }}.css" media="all" title="{{ constant('THEME') }} theme">
         <link rel="stylesheet" href="./tpl/css/messages.css" media="all">
-        <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
+        <link href='//fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
         <script src="./tpl/js/jquery-2.0.3.min.js"></script>
         <script type="text/javascript">$(document).ready(function(){$("body").prepend('<a href="#top" class="top_link" title="{% trans "back to top" %}"><img src="./tpl/img/{{ constant("THEME") }}/backtotop.png" alt={% trans "back to top" %}"/></a>');$(".top_link").css({position:"fixed",right:"15px",bottom:"15px",display:"none",padding:"20px",background:"#ccc","-moz-border-radius":"40px","-webkit-border-radius":"40px","border-radius":"40px",opacity:"0.9","z-index":"2000"});$(window).scroll(function(){posScroll=$(document).scrollTop();if(posScroll>=400)$(".top_link").fadeIn(600);else $(".top_link").fadeOut(600)})})</script>
\ No newline at end of file
diff --git a/tpl/error.twig b/tpl/error.twig
new file mode 100644 (file)
index 0000000..84c3bc1
--- /dev/null
@@ -0,0 +1,7 @@
+{% extends "layout.twig" %}
+{% block title %}{% trans "error" %}{% endblock %}
+{% block content %}
+    <h1>error</h1>
+        <p>{{ msg|raw }}</p>
+        <p>Don't forget <a href="http://inthepoche.com/?pages/Documentation">the documentation</a>.</p>
+{% endblock %}
\ No newline at end of file
index 8bcede0dfe3c133407d136ad055971a9820bf677..afb5b0f6bb1acd4f687ad7022e99509cc0ec2aec 100644 (file)
@@ -7,21 +7,21 @@
                 <p>
                     {% trans "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>." %}
                 </p>
-                <div class="row">
+                <p class="row">
                     <label class="col w150p" for="login">{% trans "Login" %}</label>
                     <input class="col" type="text" id="login" name="login" placeholder="Login" tabindex="1" autofocus />
-                </div>
-                <div class="row">
+                </p>
+                <p class="row">
                     <label class="col w150p" for="password">{% trans "Password" %}</label>
                     <input class="col" type="password" id="password" name="password" placeholder="Password" tabindex="2">
-                </div>
-                <div class="row">
+                </p>
+                <p class="row">
                     <label class="col w150p" for="password_repeat">{% trans "Repeat your password" %}</label>
                     <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="Password" tabindex="3">
-                </div>
-                <div class="row mts txtcenter">
+                </p>
+                <p class="row mts txtcenter">
                     <button class="bouton" type="submit" tabindex="4">{% trans "Install" %}</button>
-                </div>
+                </p>
             </fieldset>
             <input type="hidden" name="token" value="{{ token }}">
         </form>