From 6a9e4bfc901439d5b4791b229acc872d43461f8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Sun, 11 Aug 2013 21:04:04 +0200
Subject: [PATCH 01/18] version number
---
inc/poche/config.inc.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/poche/config.inc.php b/inc/poche/config.inc.php
index 321784d77..ba8a9fa06 100644
--- a/inc/poche/config.inc.php
+++ b/inc/poche/config.inc.php
@@ -16,7 +16,7 @@ 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 ('POCHE_VERSION', '1.0-beta2');
define ('MODE_DEMO', FALSE);
define ('DEBUG_POCHE', FALSE);
define ('CONVERT_LINKS_FOOTNOTES', FALSE);
From cd03b575df970f39f0fc2c15807f0d375d93bd4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Mon, 12 Aug 2013 14:27:51 +0200
Subject: [PATCH 02/18] error msg when install folder exists
---
inc/poche/Poche.class.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 2af49acd4..82f0228e8 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -20,7 +20,7 @@ class Poche
{
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.');
+ die('If you want to update your poche, you just have to delete /install folder. 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->store = new Database();
From f93aaa65c4b5d359ee09d084d6a10601f31ddfeb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Mon, 12 Aug 2013 18:11:56 +0200
Subject: [PATCH 03/18] how installing poche
---
INSTALL.md | 79 +++++++++++++++++++++++++++++-------------------------
1 file changed, 43 insertions(+), 36 deletions(-)
diff --git a/INSTALL.md b/INSTALL.md
index f32b9bc36..95f18cec7 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,53 +1,60 @@
# 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.
+## you don't want to install twig (the template engine) by yourself
-your datas can be stored on sqlite, postgres or mysql databases.
+Download this file http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip
-Edit /inc/poche/config.inc.php :
+Extract this file on your server.
+
+## you want to install twig by yourself
+
+Download the latest version here : http://www.inthepoche.com/?pages/T%C3%A9l%C3%A9charger-poche
+
+Extract this file on your server.
```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
-```
-
-poche must have write access on assets, cache and db directories.
-
-[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.
-
-## twig
-poche now uses twig for templating. You have to install twig.
-
-Install composer in your project :
-```bash
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
-## storage in sqlite
-You have to install [sqlite for php](http://www.php.net/manual/en/book.sqlite.php) on your server.
+Copy / paste install/poche.sqlite in db folder.
-Copy /install/poche.sqlite in /db
+### using mysql or postgresql
-## storage in mysql
-Execute /install/mysql.sql file in your database.
+Execute the sql file in /install (mysql.sql or postgres.sql)
-## storage in postgres
-Execute /install/postgres.sql file in your database.
+Then, go to step 3.
-## upgrading from poche <= 0.3
-With poche <= 0.3, all your datas were stored in a sqlite file. The structure of this file changed.
+# Upgrading poche
-You have to execute http://yourpoche/install/update_sqlite_from_0_to_1.php before using this new version.
+Replace all the files except **db/poche.sqlite**. Also remember to edit the file /inc/poche/config.inc.php.
-## 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
+## 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
+
+You must have write access on assets, cache and db directories. These directories may not exist, you'll have to create them.
+
+You can use poche ! Enjoy.
+
+# Some problems you may encounter
+
+## Blank page
+
+Be sure to have write access on assets, cache and db directories.
+
+## 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
+
+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
From 86848edc843c42ce2cea8ccb14c44e52ba313219 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Mon, 12 Aug 2013 18:17:13 +0200
Subject: [PATCH 04/18] upgrading README
---
README.md | 48 ++++++++++++++++--------------------------------
1 file changed, 16 insertions(+), 32 deletions(-)
diff --git a/README.md b/README.md
index 689ad63b5..27f549d91 100644
--- 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.
+# 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
-The website of poche is [inthepoche.com](http://inthepoche.com).
+* 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).
-
-[](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
-
- Order allow,deny
- Deny from all
-
-```
-
-Nginx version:
-```nginx
-location ~ /(db) {
- deny all;
- return 404;
-}
-```
-
-## Usage
-See the documentation on our website : [inthepoche.com](http://inthepoche.com).
-
-## Travis
-[](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
From ca1b0a1a6fb9b331c631df32d132736c9c627ac4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Mon, 12 Aug 2013 19:02:36 +0200
Subject: [PATCH 05/18] install
---
INSTALL.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/INSTALL.md b/INSTALL.md
index 95f18cec7..63000f264 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,5 +1,9 @@
# Installing poche
+## requirements
+
+it's highly recommended to have php cURL and tidy_parse_string to fetch articles content.
+
## you don't want to install twig (the template engine) by yourself
Download this file http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip
From 4a2912880f0914b456711d695f96ce2ace18c814 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 10:54:14 +0200
Subject: [PATCH 06/18] more verif while installing
---
inc/poche/Poche.class.php | 75 +++++++++++++++++++++++++++------------
inc/poche/config.inc.php | 4 +++
tpl/error.twig | 7 ++++
tpl/install.twig | 16 ++++-----
4 files changed, 72 insertions(+), 30 deletions(-)
create mode 100644 tpl/error.twig
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 82f0228e8..1d8aaca2c 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -18,11 +18,10 @@ class Poche
function __construct()
{
- if (file_exists('./install') && !DEBUG_POCHE) {
- Tools::logm('folder /install exists');
- die('If you want to update your poche, you just have to delete /install folder. 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,6 +33,56 @@ class Poche
}
}
+ /**
+ * all checks before installation.
+ * @return boolean
+ */
+ private function checkBeforeInstall()
+ {
+ $msg = '';
+ $allIsGood = TRUE;
+ if (file_exists('./install') && !DEBUG_POCHE) {
+ Tools::logm('folder /install exists');
+ $msg = 'If you want to update your poche, you just have to delete /install folder. 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;
+ }
+
+ if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) {
+ Tools::logm('you don\'t have write access on db file');
+ $msg = 'You don\'t have write access on ' . STORAGE_SQLITE . ' file.';
+ $allIsGood = FALSE;
+ }
+
+ if (!$allIsGood) {
+ echo $this->tpl->render('error.twig', array(
+ 'msg' => $msg
+ ));
+ }
+
+ return $allIsGood;
+ }
+
+ private function initTpl()
+ {
+ # template engine
+ $loader = new Twig_Loader_Filesystem(TPL);
+ if (DEBUG_POCHE) {
+ $twig_params = array();
+ }
+ else {
+ $twig_params = array('cache' => CACHE);
+ }
+ $this->tpl = new Twig_Environment($loader, $twig_params);
+ $this->tpl->addExtension(new Twig_Extensions_Extension_I18n());
+ # filter to display domain name of an url
+ $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain');
+ $this->tpl->addFilter($filter);
+
+ # filter for reading time
+ $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
+ $this->tpl->addFilter($filter);
+ }
+
private function init()
{
Tools::initPhp();
@@ -55,24 +104,6 @@ class Poche
bindtextdomain($language, LOCALE);
textdomain($language);
- # template engine
- $loader = new Twig_Loader_Filesystem(TPL);
- if (DEBUG_POCHE) {
- $twig_params = array();
- }
- else {
- $twig_params = array('cache' => CACHE);
- }
- $this->tpl = new Twig_Environment($loader, $twig_params);
- $this->tpl->addExtension(new Twig_Extensions_Extension_I18n());
- # filter to display domain name of an url
- $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain');
- $this->tpl->addFilter($filter);
-
- # filter for reading time
- $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
- $this->tpl->addFilter($filter);
-
# Pagination
$this->pagination = new Paginator($this->user->getConfigValue('pager'), 'p');
}
diff --git a/inc/poche/config.inc.php b/inc/poche/config.inc.php
index ba8a9fa06..ecbf1ce68 100644
--- a/inc/poche/config.inc.php
+++ b/inc/poche/config.inc.php
@@ -34,6 +34,10 @@ define ('PAGINATION', '10');
define ('THEME', 'light');
# /!\ Be careful if you change the lines below /!\
+if (!file_exists('./vendor/autoload.php')) {
+ die('Twig does not seem installed. Have a look at the documentation. ');
+}
+
require_once './inc/poche/User.class.php';
require_once './inc/poche/Tools.class.php';
require_once './inc/poche/Url.class.php';
diff --git a/tpl/error.twig b/tpl/error.twig
new file mode 100644
index 000000000..84c3bc1c2
--- /dev/null
+++ b/tpl/error.twig
@@ -0,0 +1,7 @@
+{% extends "layout.twig" %}
+{% block title %}{% trans "error" %}{% endblock %}
+{% block content %}
+ error
+ {{ msg|raw }}
+ Don't forget the documentation .
+{% endblock %}
\ No newline at end of file
diff --git a/tpl/install.twig b/tpl/install.twig
index 8bcede0df..afb5b0f6b 100644
--- a/tpl/install.twig
+++ b/tpl/install.twig
@@ -7,21 +7,21 @@
{% trans "poche is still not installed. Please fill the below form to install it. Don't hesitate to read the documentation on poche website ." %}
-
-
-
-
+
+
{% trans "Install" %}
-
+
From b448a9214ccc6c0a2050dd722c47f1849554451d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 10:58:25 +0200
Subject: [PATCH 07/18] fix #130 : disallow robots
---
robots.txt | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 robots.txt
diff --git a/robots.txt b/robots.txt
new file mode 100644
index 000000000..77470cb39
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
\ No newline at end of file
From 20ced8a806a9eab19d827e3bafb4eb934891d669 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 11:03:36 +0200
Subject: [PATCH 08/18] contributing file
---
CONTRIBUTONG.md | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 CONTRIBUTONG.md
diff --git a/CONTRIBUTONG.md b/CONTRIBUTONG.md
new file mode 100644
index 000000000..9818ae008
--- /dev/null
+++ b/CONTRIBUTONG.md
@@ -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
From c0d321c1bfb08b75abf60bf90092aed8f6556283 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 11:29:28 +0200
Subject: [PATCH 09/18] #136 error during readability import
---
inc/poche/Poche.class.php | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 1d8aaca2c..4371c3d39 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -211,6 +211,7 @@ class Poche
}
break;
default:
+ Tools::logm('action ' . $action . 'doesn\'t exist');
break;
}
}
@@ -440,9 +441,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));
@@ -451,20 +454,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();
}
From 2021fc614e35ab494032f717c922ece7919a7c13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 11:31:28 +0200
Subject: [PATCH 10/18] close #137 : Mixed content alert in HTTPS
---
tpl/_head.twig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tpl/_head.twig b/tpl/_head.twig
index 145d668f2..60ef88839 100644
--- a/tpl/_head.twig
+++ b/tpl/_head.twig
@@ -6,6 +6,6 @@
-
+
\ No newline at end of file
From 0b05568c9f5901d87ad2125e7997c38dad070461 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 11:46:40 +0200
Subject: [PATCH 11/18] fix #138: change pattern to parse url with #
---
inc/poche/Url.class.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/poche/Url.class.php b/inc/poche/Url.class.php
index f4a8f99e6..00b0b2575 100644
--- a/inc/poche/Url.class.php
+++ b/inc/poche/Url.class.php
@@ -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);
}
From 042b5906061c49e5d142f4b3166f3630ef31917b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Thu, 15 Aug 2013 20:00:02 +0200
Subject: [PATCH 12/18] german language
---
locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.mo | Bin 0 -> 2871 bytes
locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po | 114 ++++++++++++++++++
.../LC_MESSAGES/fr_FR.utf8.mo} | Bin
.../LC_MESSAGES/fr_FR.utf8.po} | 0
4 files changed, 114 insertions(+)
create mode 100644 locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.mo
create mode 100644 locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po
rename locale/{fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo => fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo} (100%)
rename locale/{fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.po => fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po} (100%)
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
index 0000000000000000000000000000000000000000..b900f146e9c5ee7049b034f0f15b3b4af8bc5cd0
GIT binary patch
literal 2871
zcmbW3OK%)S5XTz`kSy;2K_DI#KzS&heK-kN8yt~$3{J9g91g@djwYL*SR-v*1tQLGV{F0{;YG1P|{P;y8E)Tm;8p5Bwf{4&1$`_WKIB
zfaf-N5>%7tZ@{%8$3LpR?9j8Y!QWPnlF+80(v2sUr2Q$tPYZ
zHhBTZoNQm6aXf3XYz9hGU#g4~gmJ|bZjO{E$DBJFo01Zv4|+=FI^w?AqvK7{%UC+5
zI5h@XV?Scno7*3t&7J(1x|_Cqi{sMsOzh-hs|rt4klV6*6X%fHbd4;!IeHqX%${k+OhS@XzErwW=aofBwa{ECJ86o%}bk6
zVY!f2?tDo((#F%e%+$YsY1>XvH{sk+ZW5lW1VxsJqbw2$K?>>I$k;?w9WsZ^Ejl2G
zkzv`ADIl#grHz@~*m=%HsDG7FDjn3vdX*EoGLG4~ehE46W0Y{!75`v1iFslqP=CO+bv7yqg5-lgSN(Y>9UGV1`(Hk`Mgva2UudSYs7Pjodc73+dIUSn>t>2}EHRY#)
zcF}u{URGL}MdyvpU6*uGJ-WsD6I6d(Jfvy=B6SX*XxxY{ux1>Cpia+lf|_=k$D7Bn
zQa?tgar6u6(=N5PzI>m@p^4qHa=uG9PYl?H;5T_w8&hmqU#;5tOr24e>XfD%TxDtF
zw1+LCHa1z8HYi&Q7^%*JZitnQyYXK~>G#S;O<3W;lCmta7R+Y*U=Y7n5l#OIPnoNSEZ=fL)ws#(vcG%7AaX;&=
zolq%Dr*w`ZQ|dueTr>qrKZh}yveKRyb2-7VsE072Pt$PToX7N3n0CQC#-y^a(in-f
zlxo&D)VeDwNp59wBtL(+!TKS#?oKu
literal 0
HcmV?d00001
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
index 000000000..4448bad18
--- /dev/null
+++ b/locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po
@@ -0,0 +1,114 @@
+#
+# Translators:
+# HLFH , 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 \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/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo
similarity index 100%
rename from locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.mo
rename to locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.mo
diff --git a/locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.po b/locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po
similarity index 100%
rename from locale/fr_FR.UTF8/LC_MESSAGES/fr_FR.UTF8.po
rename to locale/fr_FR.utf8/LC_MESSAGES/fr_FR.utf8.po
From 6bc2da519197738e021b82cde56f0281596f2073 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 16 Aug 2013 20:17:16 +0200
Subject: [PATCH 13/18] ignore myconfig.inc.php in git
---
.gitignore | 3 ++-
CONTRIBUTONG.md => CONTRIBUTING.md | 0
2 files changed, 2 insertions(+), 1 deletion(-)
rename CONTRIBUTONG.md => CONTRIBUTING.md (100%)
diff --git a/.gitignore b/.gitignore
index 5e992c2ec..17af57cf3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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/CONTRIBUTONG.md b/CONTRIBUTING.md
similarity index 100%
rename from CONTRIBUTONG.md
rename to CONTRIBUTING.md
From 1c9cd3463b820b874610f4fd13e0193dc9e6429c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 16 Aug 2013 20:18:11 +0200
Subject: [PATCH 14/18] spanish language, thanks to Nitche
---
locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo | Bin 0 -> 5728 bytes
locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po | 382 ++++++++++++++++++++
2 files changed, 382 insertions(+)
create mode 100644 locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.mo
create mode 100644 locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po
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
index 0000000000000000000000000000000000000000..aa3d4182983b823b24687f0737a999b8964fcb8b
GIT binary patch
literal 5728
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
V@uDr8N+KMmPBM7-v&Yq@{sT$bTgCtY
literal 0
HcmV?d00001
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
index 000000000..236297d77
--- /dev/null
+++ b/locale/es_ES.utf8/LC_MESSAGES/es_ES.utf8.po
@@ -0,0 +1,382 @@
+#
+# Translators:
+# Nitche , 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 \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 read "
+"the documentation on poche website ."
+msgstr ""
+"poche todavia no està instalado. Gracias de llenar los campos siguientes "
+"para instalarlo. No dudes de leer la documentacion en el sitio de poche ."
+
+#: /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"
From bb5a7d9ede48558c6f096dc3c8e267f12513ec4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 16 Aug 2013 20:19:31 +0200
Subject: [PATCH 15/18] updating script
---
inc/poche/Poche.class.php | 30 ++++++++++-----
inc/poche/Tools.class.php | 26 +++++++++++++
inc/poche/config.inc.php | 57 +++++++++-------------------
inc/poche/define.inc.php | 30 +++++++++++++++
index.php | 3 ++
install/update.php | 78 +++++++++++++++++++++++++++++++++++++++
6 files changed, 175 insertions(+), 49 deletions(-)
mode change 100644 => 100755 inc/poche/config.inc.php
create mode 100644 inc/poche/define.inc.php
create mode 100644 install/update.php
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 4371c3d39..cb865a2a9 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -41,15 +41,23 @@ class Poche
{
$msg = '';
$allIsGood = TRUE;
- if (file_exists('./install') && !DEBUG_POCHE) {
- Tools::logm('folder /install exists');
+
+ if (file_exists('./install/update.php') && !DEBUG_POCHE) {
+ $msg = 'A poche update is needed. Please execute this update by clicking here . 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. 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;
}
-
- if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) {
- Tools::logm('you don\'t have write access on db file');
- $msg = 'You don\'t have write access on ' . STORAGE_SQLITE . ' file.';
+ 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;
+ }
+ else if (!is_writable(CACHE)) {
+ Tools::logm('you don\'t have write access on cache directory');
+ $msg = 'You don\'t have write access on cache directory.';
$allIsGood = FALSE;
}
@@ -118,10 +126,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');
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php
index 0eb0d9ea2..1baf745d9 100644
--- a/inc/poche/Tools.class.php
+++ b/inc/poche/Tools.class.php
@@ -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, 'the documentation. ');
}
-
-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__ . '/../../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
index 000000000..c32ca0981
--- /dev/null
+++ b/inc/poche/define.inc.php
@@ -0,0 +1,30 @@
+
+ * @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
diff --git a/index.php b/index.php
index a60e4e941..51a33d713 100644
--- 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
index 000000000..392ab801e
--- /dev/null
+++ b/install/update.php
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+ updating poche
+
+
+ update poche to 1.0-beta3
+
+ Changelog
+
+
+ this awesome updating step
+ error message when install folder exists
+ more tests before installation (write access, etc.)
+ updated README to make installation easier
+ german language thanks to HLFH
+ spanish language thanks to Nitche
+ new file ./inc/poche/myconfig.inc.php created to store language and salt
+ #119 : salt is now created when installing poche
+ #130 : robotx.txt added
+ #136 : error during readability import
+ #137 : mixed content alert in https
+ #138 : change pattern to parse url with #
+
+
+
+
+
+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, 'updatePassword($user['id'], sha1($_POST['password'] . $_POST['login'] . $new_salt));
+?>
+ your poche is up to date!
+ don't forget to delete ./install/ folder after the update.
+ go back to your poche
+
+
+
\ No newline at end of file
From 12c40987735de13be8361e76ac97b3999f5099f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 16 Aug 2013 20:21:12 +0200
Subject: [PATCH 16/18] rename german folder & files
---
.../LC_MESSAGES/de_DE.utf8.mo} | Bin
.../LC_MESSAGES/de_DE.utf8.po} | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename locale/{de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.mo => de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo} (100%)
rename locale/{de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po => de_DE.utf8/LC_MESSAGES/de_DE.utf8.po} (100%)
diff --git a/locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.mo b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo
similarity index 100%
rename from locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.mo
rename to locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.mo
diff --git a/locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po b/locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po
similarity index 100%
rename from locale/de_DE.UTF8/LC_MESSAGES/de_DE.UTF8.po
rename to locale/de_DE.utf8/LC_MESSAGES/de_DE.utf8.po
From abed0f212266895f67add983a478cd0eb88487a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20L=C5=93uillet?=
Date: Fri, 16 Aug 2013 20:40:31 +0200
Subject: [PATCH 17/18] some precisons in updating poche
---
inc/poche/Poche.class.php | 13 ++++++-------
install/update.php | 1 +
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index cb865a2a9..e0dc0d201 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -42,7 +42,11 @@ class Poche
$msg = '';
$allIsGood = TRUE;
- if (file_exists('./install/update.php') && !DEBUG_POCHE) {
+ 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 if (file_exists('./install/update.php') && !DEBUG_POCHE) {
$msg = 'A poche update is needed. Please execute this update by clicking here . If you have already do the update, please delete /install folder.';
$allIsGood = FALSE;
}
@@ -55,12 +59,7 @@ class Poche
$msg = 'You don\'t have write access on sqlite file.';
$allIsGood = FALSE;
}
- else if (!is_writable(CACHE)) {
- Tools::logm('you don\'t have write access on cache directory');
- $msg = 'You don\'t have write access on cache directory.';
- $allIsGood = FALSE;
- }
-
+
if (!$allIsGood) {
echo $this->tpl->render('error.twig', array(
'msg' => $msg
diff --git a/install/update.php b/install/update.php
index 392ab801e..f628d1f1f 100644
--- a/install/update.php
+++ b/install/update.php
@@ -35,6 +35,7 @@ $old_salt = '464v54gLLw928uz4zUBqkRJeiPY68zCX';
#138 : change pattern to parse url with #
+ To update your poche, please fill the following fields.