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. -![poche](http://inthepoche.com/img/logo.png) +## 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). - -[![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 - - 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 -[![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 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." %}

-
+

-

-
+

+

-

-
+

+

-

-
+

+

-

+

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#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.

    From c3df0ebdc267c59c705bf8ee95ff5eb3feae8bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 16 Aug 2013 21:21:25 +0200 Subject: [PATCH 18/18] typo --- install/update.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/update.php b/install/update.php index f628d1f1f..8c93af6d2 100644 --- a/install/update.php +++ b/install/update.php @@ -29,7 +29,7 @@ $old_salt = '464v54gLLw928uz4zUBqkRJeiPY68zCX';
  • 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
  • +
  • #130: robots.txt added
  • #136: error during readability import
  • #137: mixed content alert in https
  • #138: change pattern to parse url with #